diff --git ql/pom.xml ql/pom.xml index afdaa19..71daa26 100644 --- ql/pom.xml +++ ql/pom.xml @@ -381,14 +381,6 @@ ${hadoop-23.version} true - - - org.apache.hadoop - hadoop-mapreduce-client-common - ${hadoop-23.version} - true - test - diff --git ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeFieldDesc.java ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeFieldDesc.java index 2e375bb..9bda2ad 100755 --- ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeFieldDesc.java +++ ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeFieldDesc.java @@ -103,7 +103,7 @@ public String getExprString() { @Override public ExprNodeDesc clone() { - return new ExprNodeFieldDesc(typeInfo, desc, fieldName, isList); + return new ExprNodeFieldDesc(typeInfo, desc.clone(), fieldName, isList); } @Override diff --git ql/src/test/queries/clientpositive/ppd_field_garbage.q ql/src/test/queries/clientpositive/ppd_field_garbage.q new file mode 100644 index 0000000..23e0778 --- /dev/null +++ ql/src/test/queries/clientpositive/ppd_field_garbage.q @@ -0,0 +1,8 @@ +-- ppd leaves invalid expr in field expr +CREATE TABLE test_issue (fileid int, infos ARRAY>, test_c STRUCT>); +CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i; + +-- dummy data +LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE test_issue; + +SELECT * FROM v_test_issue WHERE age = 25; diff --git ql/src/test/results/clientpositive/ppd_field_garbage.q.out ql/src/test/results/clientpositive/ppd_field_garbage.q.out new file mode 100644 index 0000000..0b74a41 --- /dev/null +++ ql/src/test/results/clientpositive/ppd_field_garbage.q.out @@ -0,0 +1,36 @@ +PREHOOK: query: -- ppd leaves invalid expr in field expr +CREATE TABLE test_issue (fileid int, infos ARRAY>, test_c STRUCT>) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +POSTHOOK: query: -- ppd leaves invalid expr in field expr +CREATE TABLE test_issue (fileid int, infos ARRAY>, test_c STRUCT>) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@test_issue +PREHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i +PREHOOK: type: CREATEVIEW +PREHOOK: Input: default@test_issue +POSTHOOK: query: CREATE VIEW v_test_issue AS SELECT fileid, i.user, test_c.user_c.age FROM test_issue LATERAL VIEW explode(infos) info AS i +POSTHOOK: type: CREATEVIEW +POSTHOOK: Input: default@test_issue +POSTHOOK: Output: default@v_test_issue +PREHOOK: query: -- dummy data +LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE test_issue +PREHOOK: type: LOAD +#### A masked pattern was here #### +PREHOOK: Output: default@test_issue +POSTHOOK: query: -- dummy data +LOAD DATA LOCAL INPATH '../../data/files/kv1.txt' INTO TABLE test_issue +POSTHOOK: type: LOAD +#### A masked pattern was here #### +POSTHOOK: Output: default@test_issue +PREHOOK: query: SELECT * FROM v_test_issue WHERE age = 25 +PREHOOK: type: QUERY +PREHOOK: Input: default@test_issue +PREHOOK: Input: default@v_test_issue +#### A masked pattern was here #### +POSTHOOK: query: SELECT * FROM v_test_issue WHERE age = 25 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@test_issue +POSTHOOK: Input: default@v_test_issue +#### A masked pattern was here ####