diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java index 469dc9f..ad0c612 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/RowResolver.java @@ -97,6 +97,14 @@ public ASTNode getExpressionSource(ASTNode node) { public void put(String tab_alias, String col_alias, ColumnInfo colInfo) { if (!addMappingOnly(tab_alias, col_alias, colInfo)) { + //Make sure that the table alias and column alias are stored + //in the column info + if (tab_alias != null) { + colInfo.setTabAlias(tab_alias.toLowerCase()); + } + if (col_alias != null) { + colInfo.setAlias(col_alias.toLowerCase()); + } rowSchema.getSignature().add(colInfo); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 88fd0fc..69d231d 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -7326,7 +7326,7 @@ private Operator genJoinReduceSinkChild(QB qb, ExprNodeDesc[] joinKeys, continue; } int vindex = exprBack == null ? -1 : ExprNodeDescUtils.indexOf(exprBack, reduceValuesBack); - if (kindex >= 0) { + if (vindex >= 0) { index[i] = -vindex - 1; continue; }