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)

Reply via email to