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 ddf74f2cd4e8212b5700cb3c37ddc2c9a3f6286f..c6b67d1b9ce4258afb25df61221d43176e2c8c03 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 @@ -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 a/ql/src/test/queries/clientpositive/transform3.q b/ql/src/test/queries/clientpositive/transform3.q new file mode 100644 index 0000000000000000000000000000000000000000..4a2a36800b60f91bb71a4e525cbeff8c34a3eaf8 --- /dev/null +++ b/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.newCol FROM ( + SELECT TRANSFORM(col) USING 'cat' AS (NewCol string) FROM transform3_t1 +) t; diff --git a/ql/src/test/results/clientpositive/transform3.q.out b/ql/src/test/results/clientpositive/transform3.q.out new file mode 100644 index 0000000000000000000000000000000000000000..5f93ed8127009461c2ce182bea6b4ae9d6a2c9b1 --- /dev/null +++ b/ql/src/test/results/clientpositive/transform3.q.out @@ -0,0 +1,28 @@ +PREHOOK: query: CREATE TABLE transform3_t1 (col string) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@transform3_t1 +POSTHOOK: query: CREATE TABLE transform3_t1 (col string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@transform3_t1 +PREHOOK: query: INSERT OVERWRITE TABLE transform3_t1 VALUES('aaaa') +PREHOOK: type: QUERY +PREHOOK: Output: default@transform3_t1 +POSTHOOK: query: INSERT OVERWRITE TABLE transform3_t1 VALUES('aaaa') +POSTHOOK: type: QUERY +POSTHOOK: Output: default@transform3_t1 +POSTHOOK: Lineage: transform3_t1.col SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: SELECT t.newCol FROM ( + SELECT TRANSFORM(col) USING 'cat' AS (NewCol string) FROM transform3_t1 +) t +PREHOOK: type: QUERY +PREHOOK: Input: default@transform3_t1 +#### A masked pattern was here #### +POSTHOOK: query: SELECT t.newCol FROM ( + SELECT TRANSFORM(col) USING 'cat' AS (NewCol string) FROM transform3_t1 +) t +POSTHOOK: type: QUERY +POSTHOOK: Input: default@transform3_t1 +#### A masked pattern was here #### +aaaa