[ 
https://issues.apache.org/jira/browse/CALCITE-833?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14680595#comment-14680595
 ] 

Julian Hyde commented on CALCITE-833:
-------------------------------------

I think RexTransformTest would be the best place for this test case. That is 
where we are testing miscellaneous utilities that work on RelNodes and 
RexNodes. Frankly we need better unit tests for all of the methods in 
RelOptUtil.

Since you need to convert SQL to RelNodes, you could do {code}new 
SqlToRelTestBase() {}.createTester().convertSqlToRel(){code}. Not pretty, but 
we can refactor later.

> 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