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 4b1a033..3bbf420 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -12496,6 +12496,9 @@ private RelNode genFilterRelNode(QB qb, ASTNode searchCond, RelNode srcRel, List subQueries = SubQueryUtils.findSubQueries(clonedSearchCond); RowResolver inputRR = relToHiveRR.get(srcRel); + RowResolver outerQBRR = inputRR; + ImmutableMap outerQBPosMap = + relToHiveColNameOptiqPosMap.get(srcRel); for (int i = 0; i < subQueries.size(); i++) { ASTNode subQueryAST = subQueries.get(i); @@ -12586,6 +12589,8 @@ private RelNode genFilterRelNode(QB qb, ASTNode searchCond, RelNode srcRel, srcRel = projectLeftOuterSide(srcRel, numSrcColumns); } } + relToHiveRR.put(srcRel, outerQBRR); + relToHiveColNameOptiqPosMap.put(srcRel, outerQBPosMap); return srcRel; }