You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by kr...@apache.org on 2023/08/15 17:00:28 UTC

[hive] branch master updated: HIVE-27578: Refactor genJoinRelNode to use genAllRexNode instead of genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, Krisztian Kasa)

This is an automated email from the ASF dual-hosted git repository.

krisztiankasa pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new fc0cc1e99d2 HIVE-27578: Refactor genJoinRelNode to use genAllRexNode instead of genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, Krisztian Kasa)
fc0cc1e99d2 is described below

commit fc0cc1e99d2f8ea38a1f49f033c127cc48fc87b9
Author: Soumyakanti Das <so...@cloudera.com>
AuthorDate: Tue Aug 15 09:58:52 2023 -0700

    HIVE-27578: Refactor genJoinRelNode to use genAllRexNode instead of genAllExprNodeDesc (Soumyakanti Das, reviewed by Stephen Carlin, Krisztian Kasa)
---
 ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java      | 5 +++--
 .../java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java  | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
index ed4e5467adc..75d52d5edd0 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
@@ -2610,7 +2610,7 @@ public class CalcitePlanner extends SemanticAnalyzer {
       RexNode calciteJoinCond = null;
       List<String> namedColumns = null;
       if (joinCond != null) {
-        JoinTypeCheckCtx jCtx = new JoinTypeCheckCtx(leftRR, rightRR, hiveJoinType);
+        JoinTypeCheckCtx jCtx = new JoinTypeCheckCtx(leftRR, rightRR, cluster.getRexBuilder(), hiveJoinType);
         jCtx.setOuterRR(outerRR);
         RowResolver input = jCtx.getInputRR();
         // named columns join
@@ -2673,7 +2673,8 @@ public class CalcitePlanner extends SemanticAnalyzer {
           }
           joinCond = count > 1 ? and : equal;
         } else if (unparseTranslator != null && unparseTranslator.isEnabled()) {
-          genAllExprNodeDesc(joinCond, input, jCtx);
+          jCtx.setUnparseTranslator(unparseTranslator);
+          genAllRexNode(joinCond, input, jCtx, conf);
         }
         Map<ASTNode, RexNode> exprNodes = RexNodeTypeCheck.genExprNodeJoinCond(
             joinCond, jCtx, cluster.getRexBuilder());
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
index 8832c772ebb..9e779b38dab 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/type/JoinTypeCheckCtx.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.hive.ql.parse.type;
 
 import java.util.List;
 
+import org.apache.calcite.rex.RexBuilder;
 import org.apache.hadoop.hive.ql.parse.JoinType;
 import org.apache.hadoop.hive.ql.parse.RowResolver;
 import org.apache.hadoop.hive.ql.parse.SemanticException;
@@ -51,9 +52,9 @@ public class JoinTypeCheckCtx extends TypeCheckCtx {
   private final ImmutableList<RowResolver> inputRRLst;
   private final boolean outerJoin;
 
-  public JoinTypeCheckCtx(RowResolver leftRR, RowResolver rightRR, JoinType hiveJoinType)
+  public JoinTypeCheckCtx(RowResolver leftRR, RowResolver rightRR, RexBuilder rexBuilder, JoinType hiveJoinType)
       throws SemanticException {
-    super(RowResolver.getCombinedRR(leftRR, rightRR), true, false, false, false, false, false, false, false,
+    super(RowResolver.getCombinedRR(leftRR, rightRR), rexBuilder, true, false, false, false, false, false, false, false,
         true, false);
     this.inputRRLst = ImmutableList.of(leftRR, rightRR);
     this.outerJoin = (hiveJoinType == JoinType.LEFTOUTER) || (hiveJoinType == JoinType.RIGHTOUTER)