[
https://issues.apache.org/jira/browse/CALCITE-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14378271#comment-14378271
]
Julian Hyde commented on CALCITE-631:
-------------------------------------
Some review comments.
Patch doesn't pass check-style -- needed a newline.
There is a bug if the query is written with left and right reversed, e.g. "ON
tabB.col1 < tabA.col1". You swap the args but you do not switch < to >.
I am uncomfortable with the the idea that arguments to non-equi conditions are
regarded as "keys". It is too easy to accidentally treat theta joins (e.g. x.a
= y.b and x.c < y.d) as equi joins. And indeed your code makes that mistake.
And it doesn't seem right that the overwhelmingly common cases -- 90% are equi
joins on 1 column, 9% equi joins on 2 or more columns -- should create a list
of operators.
Please mark the old splitJoinCondition deprecated to be removed before 2.0.
> 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
> 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)