You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2022/07/30 11:18:03 UTC
[doris] 02/02: [Bug][Function] core dump on sum(distinct) (#11308)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch dev-1.1.2
in repository https://gitbox.apache.org/repos/asf/doris.git
commit 9d65a64a02e40cdf4267693e534d2751cbafca7f
Author: Pxl <95...@qq.com>
AuthorDate: Sat Jul 30 10:24:48 2022 +0800
[Bug][Function] core dump on sum(distinct) (#11308)
* fix align size calculate for distinct combinator
---
be/src/vec/aggregate_functions/aggregate_function_distinct.h | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/be/src/vec/aggregate_functions/aggregate_function_distinct.h b/be/src/vec/aggregate_functions/aggregate_function_distinct.h
index 820759a7ff..f37f3f3efa 100644
--- a/be/src/vec/aggregate_functions/aggregate_function_distinct.h
+++ b/be/src/vec/aggregate_functions/aggregate_function_distinct.h
@@ -154,7 +154,7 @@ template <typename Data>
class AggregateFunctionDistinct
: public IAggregateFunctionDataHelper<Data, AggregateFunctionDistinct<Data>> {
private:
- static constexpr auto prefix_size = sizeof(Data);
+ size_t prefix_size;
AggregateFunctionPtr nested_func;
size_t arguments_num;
@@ -171,7 +171,11 @@ public:
: IAggregateFunctionDataHelper<Data, AggregateFunctionDistinct>(
arguments, nested_func_->get_parameters()),
nested_func(nested_func_),
- arguments_num(arguments.size()) {}
+ arguments_num(arguments.size()) {
+ size_t nested_size = nested_func->align_of_data();
+ CHECK_GT(nested_size, 0);
+ prefix_size = (sizeof(Data) + nested_size - 1) / nested_size * nested_size;
+ }
void add(AggregateDataPtr __restrict place, const IColumn** columns, size_t row_num,
Arena* arena) const override {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org