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)