[
https://issues.apache.org/jira/browse/CALCITE-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378618#comment-14378618
]
Julian Hyde commented on CALCITE-631:
-------------------------------------
I've been thinking further about this. Why do you need the operators list? Why
can't you leave the "non-equi" parts in JdbcJoin.condition until
JdbcJoin.implement is called, and then just transcribe the RexNode tree into a
SqlNode tree.
I don't see any advantage of breaking out theta operators such as < into a
list, versus just leaving it all in a RexNode blob.
Common theta cases such as "(x, y) < (x1, y1)", which becomes "x < x1 or (x =
x1 and y < y1)", can't be converted into ANDs anyway.
> JdbcJoin to support Non-EquiJoin
> --------------------------------
>
> Key: CALCITE-631
> URL: https://issues.apache.org/jira/browse/CALCITE-631
> Project: Calcite
> Issue Type: Improvement
> Reporter: Ng Jiunn Jye
> Assignee: Julian Hyde
> Fix For: next
>
> Attachments: [CALCITE-631]JdbcJoinToSupportNonEquiJoin.patch
>
>
> Currently, the JdbcJoin only support EquiJoin. ie select * from tab1 inner
> join tab2 on tab1.col1=tab2.col2
> NonEqui join are not supported in JdbcJoin, thus resulting execution plan
> which uses EnumerationJoin and EnumerableCalc for joining and not pushing the
> join down to remote database.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)