From 4563a2a7e047f711a3e431bc705a1448a40c858d Mon Sep 17 00:00:00 2001 From: zhangstar333 <2561612514@qq.com> Date: Thu, 5 Sep 2024 17:48:55 +0800 Subject: [PATCH] [Bug](compatibility) fix stddev_samp function coredump when upgrade --- .../aggregate_function_stddev.h | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/be/src/vec/aggregate_functions/aggregate_function_stddev.h b/be/src/vec/aggregate_functions/aggregate_function_stddev.h index 6af310b0ae8fad..5a8c896e1c3247 100644 --- a/be/src/vec/aggregate_functions/aggregate_function_stddev.h +++ b/be/src/vec/aggregate_functions/aggregate_function_stddev.h @@ -126,8 +126,6 @@ struct BaseData { count += 1; } - static DataTypePtr get_return_type() { return std::make_shared>(); } - double mean; double m2; int64_t count; @@ -145,6 +143,8 @@ struct PopData : Data { col.get_data().push_back(this->get_pop_result()); } } + + static DataTypePtr get_return_type() { return std::make_shared>(); } }; // For this series of functions, the Decimal type is not supported @@ -189,6 +189,10 @@ struct SampData_OLDER : Data { nullable_column.get_null_map_data().push_back(0); } } + + static DataTypePtr get_return_type() { + return make_nullable(std::make_shared>()); + } }; template @@ -207,6 +211,8 @@ struct SampData : Data { } } } + + static DataTypePtr get_return_type() { return std::make_shared>(); } }; template @@ -221,17 +227,7 @@ class AggregateFunctionSampVariance String get_name() const override { return Data::name(); } - DataTypePtr get_return_type() const override { - if constexpr (is_pop) { - return Data::get_return_type(); - } else { - if (IAggregateFunction::version < AGG_FUNCTION_NULLABLE) { - return make_nullable(Data::get_return_type()); - } else { - return Data::get_return_type(); - } - } - } + DataTypePtr get_return_type() const override { return Data::get_return_type(); } void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num, Arena*) const override {