rubenada commented on a change in pull request #1156: [CALCITE-2973] Allow
theta joins that have equi conditions to be exec…
URL: https://github.com/apache/calcite/pull/1156#discussion_r316606659
##########
File path:
core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableJoinRule.java
##########
@@ -61,12 +61,29 @@
if (!info.isEqui() && join.getJoinType() != JoinRelType.INNER) {
Review comment:
Is this `if` condition still relevant? The scenario of a non-equi inner join
implemented as an EnumerableHashJoin + Filter should be supported with just a
(new version of) EnumerableHashJoin, which can take the full condition.
I have the impression that we can remove the `if` condition (and the whole
else block) and leave just the if block: if there are equiKeys, generate
EnumerableHashJoin (which now supports equi and non-equi conditions); otherwise
generate EnumerableNestedLoopJoin.
EDIT: I just realized (if I am not mistaken) that EnumerableHashJoin still
does not support non-equi conditions for SEMI/ANTI join types, in those case I
think we should generate EnumerableNestedLoopJoin too.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services