diff --git itests/src/test/resources/testconfiguration.properties itests/src/test/resources/testconfiguration.properties index fa6a2aaea0..485aba89e7 100644 --- itests/src/test/resources/testconfiguration.properties +++ itests/src/test/resources/testconfiguration.properties @@ -626,6 +626,7 @@ minillaplocal.query.files=\ tez_vector_dynpart_hashjoin_1.q,\ tez_vector_dynpart_hashjoin_2.q,\ uber_reduce.q,\ + udaf_collect_list.q, \ udaf_collect_set_2.q,\ udaf_all_keyword.q,\ union_fast_stats.q,\ diff --git ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java index 487a823d92..2e661848f0 100644 --- ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java +++ ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java @@ -47,6 +47,7 @@ import org.apache.hadoop.hive.metastore.api.Decimal; import org.apache.hadoop.hive.ql.exec.ColumnInfo; import org.apache.hadoop.hive.ql.exec.FunctionRegistry; +import org.apache.hadoop.hive.ql.exec.GroupByOperator; import org.apache.hadoop.hive.ql.exec.RowSchema; import org.apache.hadoop.hive.ql.exec.TableScanOperator; import org.apache.hadoop.hive.ql.exec.Utilities; @@ -1153,7 +1154,7 @@ public static long getAvgColLenOfFixedLengthTypes(String colType) { } else if (colTypeLowerCase.equals(serdeConstants.INTERVAL_DAY_TIME_TYPE_NAME)) { return JavaDataModel.JAVA32_META; } else { - throw new IllegalArgumentException("Size requested for unknown type: " + colType); + return GroupByOperator.javaSizeUnknownType; } } diff --git ql/src/test/queries/clientpositive/udaf_collect_list.q ql/src/test/queries/clientpositive/udaf_collect_list.q new file mode 100644 index 0000000000..5ec1cfc06c --- /dev/null +++ ql/src/test/queries/clientpositive/udaf_collect_list.q @@ -0,0 +1,14 @@ +with t2 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +) +select collect_list(c1) from t2; + +create table t1 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +); + +select collect_list(c1) from t1; diff --git ql/src/test/results/clientpositive/llap/udaf_collect_list.q.out ql/src/test/results/clientpositive/llap/udaf_collect_list.q.out new file mode 100644 index 0000000000..061eeb65c4 --- /dev/null +++ ql/src/test/results/clientpositive/llap/udaf_collect_list.q.out @@ -0,0 +1,47 @@ +PREHOOK: query: with t2 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +) +select collect_list(c1) from t2 +PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +POSTHOOK: query: with t2 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +) +select collect_list(c1) from t2 +POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table +#### A masked pattern was here #### +[[1,2],[2,3]] +PREHOOK: query: create table t1 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +) +PREHOOK: type: CREATETABLE_AS_SELECT +PREHOOK: Input: _dummy_database@_dummy_table +PREHOOK: Output: database:default +PREHOOK: Output: default@t1 +POSTHOOK: query: create table t1 as ( + select array(1,2) as c1 + union all + select array(2,3) as c1 +) +POSTHOOK: type: CREATETABLE_AS_SELECT +POSTHOOK: Input: _dummy_database@_dummy_table +POSTHOOK: Output: database:default +POSTHOOK: Output: default@t1 +POSTHOOK: Lineage: t1.c1 EXPRESSION [] +PREHOOK: query: select collect_list(c1) from t1 +PREHOOK: type: QUERY +PREHOOK: Input: default@t1 +#### A masked pattern was here #### +POSTHOOK: query: select collect_list(c1) from t1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t1 +#### A masked pattern was here #### +[[1,2],[2,3]]