diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 5323a7d..1212240 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -2265,7 +2265,7 @@ void applyEqualityPredicateToQBJoinTree(QBJoinTree joinTree, if (rightCondAl1.size() != 0) { QBJoinTree leftTree = joinTree.getJoinSrc(); List leftTreeLeftSrc = new ArrayList(); - if (leftTree != null) { + if (leftTree != null && leftTree.getNoOuterJoin()) { String leftTreeRightSource = leftTree.getRightAliases() != null && leftTree.getRightAliases().length > 0 ? leftTree.getRightAliases()[0] : null; diff --git ql/src/test/results/clientpositive/mergejoin.q.out ql/src/test/results/clientpositive/mergejoin.q.out index cb96ab3..eebf0ce 100644 --- ql/src/test/results/clientpositive/mergejoin.q.out +++ ql/src/test/results/clientpositive/mergejoin.q.out @@ -2604,6 +2604,7 @@ POSTHOOK: Input: default@tab_part@ds=2008-04-08 #### A masked pattern was here #### NULL NULL NULL 98 val_98 2008-04-08 NULL NULL NULL 98 val_98 2008-04-08 +Warning: Shuffle Join JOIN[9][tables = [a, b]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: select * from (select * from tab where tab.key = 0)a full outer join @@ -2624,10 +2625,6 @@ POSTHOOK: Input: default@tab@ds=2008-04-08 POSTHOOK: Input: default@tab_part POSTHOOK: Input: default@tab_part@ds=2008-04-08 #### A masked pattern was here #### -NULL NULL NULL 98 val_98 2008-04-08 98 val_98 2008-04-08 -NULL NULL NULL 98 val_98 2008-04-08 98 val_98 2008-04-08 -NULL NULL NULL 98 val_98 2008-04-08 98 val_98 2008-04-08 -NULL NULL NULL 98 val_98 2008-04-08 98 val_98 2008-04-08 Warning: Shuffle Join JOIN[9][tables = [a, b]] in Stage 'Stage-1:MAPRED' is a cross product PREHOOK: query: select * from (select * from tab where tab.key = 0)a