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 22295a1..9c55379 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 @@ -49,7 +49,7 @@ * The primary(first) mapping is still only held in * invRslvMap. */ - private Map altInvRslvMap; + private final Map altInvRslvMap; private Map expressionMap; // TODO: Refactor this and do in a more object oriented manner @@ -377,10 +377,11 @@ public static int add(RowResolver rrToAddTo, RowResolver rrToAddFrom, outputColPos++; - if (rrToAddTo.get(tabAlias, colAlias) != null) - throw new RuntimeException("Ambigous Column Names"); - - rrToAddTo.put(tabAlias, colAlias, newCI); + if (rrToAddTo.get(tabAlias, colAlias) != null) { + LOG.debug("Found duplicate column alias in RR: " + rrToAddTo.get(tabAlias, colAlias)); + } else { + rrToAddTo.put(tabAlias, colAlias, newCI); + } qualifiedColName = rrToAddFrom.getAlternateMappings(cInfoFrmInput .getInternalName()); @@ -403,7 +404,7 @@ public static int add(RowResolver rrToAddTo, RowResolver rrToAddFrom, /** * Return a new row resolver that is combination of left RR and right RR. * The schema will be schema of left, schema of right - * + * * @param leftRR * @param rightRR * @return