Sean Hsuan-Yi Chu created CALCITE-833:
-----------------------------------------
Summary: RelOptUtil.splitJoinCondition incorrectly splits a join
condition
Key: CALCITE-833
URL: https://issues.apache.org/jira/browse/CALCITE-833
Project: Calcite
Issue Type: Bug
Reporter: Sean Hsuan-Yi Chu
Assignee: Sean Hsuan-Yi Chu
For a RelNode such as the following:
{code}
LogicalJoin(condition=[<>(CAST($0):INTEGER NOT NULL, $9)], joinType=[inner]):
rowcount = 1.0, cumulative cost = 1.0, id = 7
LogicalTableScan(table=[[CATALOG, SALES, EMP]]): rowcount = 1.0, cumulative
cost = 0.0, id = 5
LogicalTableScan(table=[[CATALOG, SALES, DEPT]]): rowcount = 1.0,
cumulative cost = 0.0, id = 6
{code}
If RelOptUtil.splitJoinCondition is fed with this RelNode, the output will be:
1. Remaining Condition: true (i.e., no remaining condition)
2. LeftJoinKey: List of (<>(CAST($0):INTEGER NOT NULL, {color:red} $0{color:}),
true)
3. RightJoinKey: Empty List
(Note the index in the $ which is marked in red)
However, isn't the expected output supposed to be ?
1. Remaining Condition: <>(CAST($0):INTEGER NOT NULL, $9)
2. LeftJoinKey: Empty List
3. RightJoinKey: Empty List
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)