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 ddf74f2cd4..c6b67d1b9c 100644 --- ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -3781,7 +3781,7 @@ private Operator genScriptPlan(ASTNode trfm, QB qb, Operator input) if (outputColNames) { for (int i = 0; i < ccount; ++i) { String colAlias = unescapeIdentifier(((ASTNode) collist.getChild(i)) - .getText()); + .getText()).toLowerCase(); failIfColAliasExists(colAliasNamesDuplicateCheck, colAlias); String intName = getColumnInternalName(i); ColumnInfo colInfo = new ColumnInfo(intName, @@ -3794,7 +3794,7 @@ private Operator genScriptPlan(ASTNode trfm, QB qb, Operator input) ASTNode child = (ASTNode) collist.getChild(i); assert child.getType() == HiveParser.TOK_TABCOL; String colAlias = unescapeIdentifier(((ASTNode) child.getChild(0)) - .getText()); + .getText()).toLowerCase(); failIfColAliasExists(colAliasNamesDuplicateCheck, colAlias); String intName = getColumnInternalName(i); ColumnInfo colInfo = new ColumnInfo(intName, TypeInfoUtils diff --git ql/src/test/queries/clientpositive/transform3.q ql/src/test/queries/clientpositive/transform3.q new file mode 100644 index 0000000000..3d110ed738 --- /dev/null +++ ql/src/test/queries/clientpositive/transform3.q @@ -0,0 +1,6 @@ +CREATE TABLE transform3_t1 (col string); +INSERT OVERWRITE TABLE transform3_t1 VALUES('aaaa'); + +SELECT t.col FROM ( + SELECT TRANSFORM(col) USING 'cat' AS (col string) FROM transform3_t1 +) t;