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 {