[
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)