HIVE-10864 :  CBO (Calcite Return Path): auto_join2.q returning wrong results 
(Jesus Camacho Rodriguez via Ashutosh Chauhan)

Signed-off-by: Ashutosh Chauhan <hashut...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/a9eaa204
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/a9eaa204
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/a9eaa204

Branch: refs/heads/hbase-metastore
Commit: a9eaa2042eff0e4bbf27ba9ed3afc58fff43e89e
Parents: 2b8d547
Author: Jesus Camacho Rodriguez <jcama...@apache.org>
Authored: Thu May 28 11:26:00 2015 -0700
Committer: Ashutosh Chauhan <hashut...@apache.org>
Committed: Mon Jun 1 11:40:43 2015 -0700

----------------------------------------------------------------------
 .../ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/a9eaa204/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java
index 30db8fd..11c3d23 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveInsertExchange4JoinRule.java
@@ -98,11 +98,11 @@ public class HiveInsertExchange4JoinRule extends RelOptRule 
{
       for (int j = 0; j < joinPredInfo.getEquiJoinPredicateElements().size(); 
j++) {
         JoinLeafPredicateInfo joinLeafPredInfo = joinPredInfo.
             getEquiJoinPredicateElements().get(j);
+        keyListBuilder.add(joinLeafPredInfo.getJoinKeyExprs(i).get(0));
         for (int pos : joinLeafPredInfo.getProjsJoinKeysInChildSchema(i)) {
           if (!joinKeyPositions.contains(pos)) {
             joinKeyPositions.add(pos);
             collationListBuilder.add(new RelFieldCollation(pos));
-            keyListBuilder.add(joinLeafPredInfo.getJoinKeyExprs(i).get(0));
           }
         }
       }

Reply via email to