diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java index a34a31d..e3cc946 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ColumnInfo.java @@ -237,4 +237,19 @@ public String toMappingString(String tab, String col) { public void setObjectinspector(ObjectInspector writableObjectInspector) { this.objectInspector = writableObjectInspector; } + + public boolean internalEquals(ColumnInfo dest) { + if (dest == null) { + return false; + } + + if ((!checkEquals(internalName, dest.getInternalName())) + || (!checkEquals(getType(), dest.getType())) || (isSkewedCol != dest.isSkewedCol()) + || (isVirtualCol != dest.getIsVirtualCol()) + || (isHiddenVirtualCol != dest.isHiddenVirtualCol())) { + return false; + } + + return true; + } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java index 93017d3..82b7cbf 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/SelectOperator.java @@ -172,7 +172,7 @@ public boolean isIdentitySelect() { return false; } - if(!origColumn.equals(destColumn)) { + if(!origColumn.internalEquals(destColumn)) { return false; }