HIVE-12344: Wrong types inferred for SemiJoin generation in CBO (Jesus Camacho Rodriguez, reviewed by Laljo John Pullokkaran)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/898834e5 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/898834e5 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/898834e5 Branch: refs/heads/master-fixed Commit: 898834e53ac7a3b169372e8e2eb609ead1ec2f6c Parents: eef89a2 Author: Jesus Camacho Rodriguez <jcama...@apache.org> Authored: Fri Nov 6 17:27:56 2015 +0100 Committer: Jesus Camacho Rodriguez <jcama...@apache.org> Committed: Fri Nov 6 17:27:56 2015 +0100 ---------------------------------------------------------------------- .../apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/898834e5/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java ---------------------------------------------------------------------- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java index e2f1cfb..90c2067 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java @@ -234,8 +234,8 @@ public class HiveCalciteUtil { leftKeys.add(origLeftInputSize + i); rightKeys.add(origRightInputSize + i); RexNode cond = rexBuilder.makeCall(SqlStdOperatorTable.EQUALS, - rexBuilder.makeInputRef(newLeftFields.get(i).getType(), newLeftOffset + i), - rexBuilder.makeInputRef(newLeftFields.get(i).getType(), newRightOffset + i)); + rexBuilder.makeInputRef(newLeftFields.get(origLeftInputSize + i).getType(), newLeftOffset + i), + rexBuilder.makeInputRef(newRightFields.get(origRightInputSize + i).getType(), newRightOffset + i)); if (outJoinCond == null) { outJoinCond = cond; } else {