You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by rh...@apache.org on 2014/09/12 16:35:17 UTC

svn commit: r1624560 - /hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Author: rhbutani
Date: Fri Sep 12 14:35:17 2014
New Revision: 1624560

URL: http://svn.apache.org/r1624560
Log:
HIVE-8069 CBO: RowResolver after SubQuery predicate handling should be reset to outer query block RR (Harish Butani via John Pullokkaran)

Modified:
    hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java?rev=1624560&r1=1624559&r2=1624560&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java Fri Sep 12 14:35:17 2014
@@ -12496,6 +12496,9 @@ public class SemanticAnalyzer extends Ba
         List<ASTNode> subQueries = SubQueryUtils.findSubQueries(clonedSearchCond);
 
         RowResolver inputRR = relToHiveRR.get(srcRel);
+        RowResolver outerQBRR = inputRR;
+        ImmutableMap<String, Integer> outerQBPosMap =
+            relToHiveColNameOptiqPosMap.get(srcRel);
 
         for (int i = 0; i < subQueries.size(); i++) {
           ASTNode subQueryAST = subQueries.get(i);
@@ -12586,6 +12589,8 @@ public class SemanticAnalyzer extends Ba
             srcRel = projectLeftOuterSide(srcRel, numSrcColumns);
           }
         }
+        relToHiveRR.put(srcRel, outerQBRR);
+        relToHiveColNameOptiqPosMap.put(srcRel, outerQBPosMap);
         return srcRel;
       }