diff --git a/be/src/vec/aggregate_functions/aggregate_function_collect.cpp b/be/src/vec/aggregate_functions/aggregate_function_collect.cpp index d726b7c6355318..552d47d3567f9f 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_collect.cpp +++ b/be/src/vec/aggregate_functions/aggregate_function_collect.cpp @@ -72,12 +72,18 @@ AggregateFunctionPtr create_aggregate_function_collect_impl(const std::string& n if (which.is_date_or_datetime()) { return do_create_agg_function_collect(distinct, argument_types, result_is_nullable); - } else if (which.is_date_v2() || which.is_ipv4()) { + } else if (which.is_date_v2()) { return do_create_agg_function_collect(distinct, argument_types, result_is_nullable); - } else if (which.is_date_time_v2() || which.is_ipv6()) { + } else if (which.is_date_time_v2()) { return do_create_agg_function_collect(distinct, argument_types, result_is_nullable); + } else if (which.is_ipv6()) { + return do_create_agg_function_collect(distinct, argument_types, + result_is_nullable); + } else if (which.is_ipv4()) { + return do_create_agg_function_collect(distinct, argument_types, + result_is_nullable); } else if (which.is_string()) { return do_create_agg_function_collect( distinct, argument_types, result_is_nullable); diff --git a/regression-test/data/query_p0/aggregate/array_agg.out b/regression-test/data/query_p0/aggregate/array_agg.out index 1fe44df3a144bc..62ffb5fcf475c0 100644 --- a/regression-test/data/query_p0/aggregate/array_agg.out +++ b/regression-test/data/query_p0/aggregate/array_agg.out @@ -251,3 +251,6 @@ 8 [{"id":8}, {"id":8}, {"id":8}, {"id":8}] 9 [{"id":9}, {"id":9}, {"id":9}, {"id":9}] +-- !select -- +[null, "0.0.0.123", "0.0.12.42", "0.119.130.67"] [null, "::855d", "::0.4.221.183", "::a:7429:d0d6:6e08:9f5f"] + diff --git a/regression-test/suites/query_p0/aggregate/array_agg.groovy b/regression-test/suites/query_p0/aggregate/array_agg.groovy index 217285b572c538..42fb3b131a4f86 100644 --- a/regression-test/suites/query_p0/aggregate/array_agg.groovy +++ b/regression-test/suites/query_p0/aggregate/array_agg.groovy @@ -277,8 +277,24 @@ suite("array_agg") { order_qt_sql_array_agg_map """ SELECT id, array_agg(km) FROM test_array_agg_complex GROUP BY id ORDER BY id """ order_qt_sql_array_agg_struct """ SELECT id, array_agg(ks) FROM test_array_agg_complex GROUP BY id ORDER BY id """ + + sql """ DROP TABLE IF EXISTS test_array_agg_ip;""" + sql """ + CREATE TABLE test_array_agg_ip( + k1 BIGINT , + k4 ipv4 , + k6 ipv6 , + s string + ) DISTRIBUTED BY HASH(k1) BUCKETS 1 PROPERTIES("replication_num" = "1"); + """ + sql """ insert into test_array_agg_ip values(1,123,34141,"0.0.0.123") , (2,3114,318903,"0.0.0.123") , (3,7832131,192837891738927931231,"2001:0DB8:AC10:FE01:FEED:BABE:CAFE:F00D"),(4,null,null,"2001:0DB8:AC10:FE01:FEED:BABE:CAFE:F00D"); """ + + + qt_select """select array_sort(array_agg(k4)),array_sort(array_agg(k6)) from test_array_agg_ip """ + sql "DROP TABLE `test_array_agg`" sql "DROP TABLE `test_array_agg1`" sql "DROP TABLE `test_array_agg_int`" sql "DROP TABLE `test_array_agg_decimal`" + sql "DROP TABLE `test_array_agg_ip`" }