scarlin-cloudera commented on a change in pull request #812: Hive 22324
URL: https://github.com/apache/hive/pull/812#discussion_r338626018
##########
File path:
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveJoinConstraintsRule.java
##########
@@ -117,7 +117,7 @@ public void onMatch(RelOptRuleCall call) {
// These boolean values represent corresponding left, right input which is
potential FK
boolean leftInputPotentialFK = topRefs.intersects(leftBits);
boolean rightInputPotentialFK = topRefs.intersects(rightBits);
- if (leftInputPotentialFK && rightInputPotentialFK && joinType ==
JoinRelType.INNER) {
+ if (leftInputPotentialFK && rightInputPotentialFK && (joinType ==
JoinRelType.INNER || joinType == JoinRelType.SEMI)) {
Review comment:
We'll need to go over this one. I think the logic here matches the previous
logic since as you mention, the restriction is on Join and not HiveJoin. This
means that anything that has joinType of INNER applies to the new SEMI type.
So either the rule is supposed to handle semijoins fine or we have a bug.
Will talk with you offline about this.
----------------------------------------------------------------
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
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]