You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (Jira)" <ji...@apache.org> on 2020/10/03 22:27:00 UTC
[jira] [Updated] (CALCITE-4308) JointNode in Interpreter might fail
with NPE for FULL join
[ https://issues.apache.org/jira/browse/CALCITE-4308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Sitnikov updated CALCITE-4308:
---------------------------------------
Description:
https://github.com/apache/calcite/blob/64a0ca71038da14f0f883f169aa95df00d909e06/core/src/main/java/org/apache/calcite/interpreter/JoinNode.java#L85
{code:java}
if (rel.getJoinType() == JoinRelType.FULL) {
// send un-match rows for full join on right source
List<Row> empty = new ArrayList<>();
for (Row row: innerRows) { // <-- NPE here
if (matchRowSet.contains(row)) {
continue;
}
doSend(row, empty, JoinRelType.RIGHT);
}
}
{code}
> JointNode in Interpreter might fail with NPE for FULL join
> ----------------------------------------------------------
>
> Key: CALCITE-4308
> URL: https://issues.apache.org/jira/browse/CALCITE-4308
> Project: Calcite
> Issue Type: Sub-task
> Components: core
> Affects Versions: 1.25.0
> Reporter: Vladimir Sitnikov
> Priority: Major
>
> https://github.com/apache/calcite/blob/64a0ca71038da14f0f883f169aa95df00d909e06/core/src/main/java/org/apache/calcite/interpreter/JoinNode.java#L85
> {code:java}
> if (rel.getJoinType() == JoinRelType.FULL) {
> // send un-match rows for full join on right source
> List<Row> empty = new ArrayList<>();
> for (Row row: innerRows) { // <-- NPE here
> if (matchRowSet.contains(row)) {
> continue;
> }
> doSend(row, empty, JoinRelType.RIGHT);
> }
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)