diff --git a/be/src/vec/aggregate_functions/aggregate_function_collect.h b/be/src/vec/aggregate_functions/aggregate_function_collect.h index ccb327226eec09..5c4988eca23ff1 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_collect.h +++ b/be/src/vec/aggregate_functions/aggregate_function_collect.h @@ -399,15 +399,7 @@ struct AggregateFunctionArrayAggData { } void merge(const Self& rhs) { - const auto size = rhs.null_map->size(); - null_map->resize(size); - nested_column->reserve(size); - for (size_t i = 0; i < size; i++) { - const auto null_value = rhs.null_map->data()[i]; - const auto data_value = rhs.nested_column->get_data()[i]; - null_map->data()[i] = null_value; - nested_column->get_data().push_back(data_value); - } + column_data->insert_range_from(*rhs.column_data, 0, rhs.column_data->size()); } }; @@ -495,15 +487,7 @@ struct AggregateFunctionArrayAggData { } void merge(const Self& rhs) { - const auto size = rhs.null_map->size(); - null_map->resize(size); - nested_column->reserve(size); - for (size_t i = 0; i < size; i++) { - const auto null_value = rhs.null_map->data()[i]; - auto s = rhs.nested_column->get_data_at(i); - null_map->data()[i] = null_value; - nested_column->insert_data(s.data, s.size); - } + column_data->insert_range_from(*rhs.column_data, 0, rhs.column_data->size()); } };