diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java index 7e3d495933..8a5d335cc9 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java @@ -2259,6 +2259,9 @@ public void onMatch(RelOptRuleCall call) { // Aggregate (groupby (0) single_value()) // Project-A (may reference coVar) // RightInputRel + if(correlate.getJoinType() != SemiJoinType.LEFT) { + return; + } final JoinRelType joinType = correlate.getJoinType().toJoinType(); // corRel.getCondition was here, however Correlate was updated so it @@ -2467,6 +2470,10 @@ public void onMatch(RelOptRuleCall call) { return; } + if(correlate.getJoinType() != SemiJoinType.LEFT) { + return; + } + final JoinRelType joinType = correlate.getJoinType().toJoinType(); // corRel.getCondition was here, however Correlate was updated so it // never includes a join condition. The code was not modified for brevity. @@ -2869,6 +2876,10 @@ private void onMatch2( return; } + if(correlate.getJoinType() != SemiJoinType.LEFT) { + return; + } + JoinRelType joinType = correlate.getJoinType().toJoinType(); // corRel.getCondition was here, however Correlate was updated so it // never includes a join condition. The code was not modified for brevity.