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 <soumyakanti....@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)