Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
For a RelNode such as the following:
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
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, $0), 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
Attachments
Issue Links
- is related to
-
CALCITE-688 splitCondition does not behave correctly when one side of the condition references columns from different inputs
- Closed