diff --git a/be/src/vec/exec/vaggregation_node.cpp b/be/src/vec/exec/vaggregation_node.cpp index 1108a09735..4a337fb3ea 100644 --- a/be/src/vec/exec/vaggregation_node.cpp +++ b/be/src/vec/exec/vaggregation_node.cpp @@ -516,7 +516,7 @@ Status AggregationNode::_execute_without_key(Block* block) { SCOPED_TIMER(_build_timer); for (int i = 0; i < _aggregate_evaluators.size(); ++i) { _aggregate_evaluators[i]->execute_single_add( - block, _agg_data.without_key + _offsets_of_aggregate_states[i]); + block, _agg_data.without_key + _offsets_of_aggregate_states[i], &_agg_arena_pool); } return Status::OK(); } @@ -550,7 +550,7 @@ Status AggregationNode::_merge_without_key(Block* block) { } } else { _aggregate_evaluators[i]->execute_single_add( - block, _agg_data.without_key + _offsets_of_aggregate_states[i]); + block, _agg_data.without_key + _offsets_of_aggregate_states[i], &_agg_arena_pool); } } return Status::OK(); diff --git a/be/src/vec/exprs/vectorized_agg_fn.cpp b/be/src/vec/exprs/vectorized_agg_fn.cpp index 0bf87254d5..f39c44ffff 100644 --- a/be/src/vec/exprs/vectorized_agg_fn.cpp +++ b/be/src/vec/exprs/vectorized_agg_fn.cpp @@ -114,7 +114,7 @@ void AggFnEvaluator::destroy(AggregateDataPtr place) { void AggFnEvaluator::execute_single_add(Block* block, AggregateDataPtr place, Arena* arena) { _calc_argment_columns(block); SCOPED_TIMER(_exec_timer); - _function->add_batch_single_place(block->rows(), place, _agg_columns.data(), nullptr); + _function->add_batch_single_place(block->rows(), place, _agg_columns.data(), arena); } void AggFnEvaluator::execute_batch_add(Block* block, size_t offset, AggregateDataPtr* places, diff --git a/be/src/vec/functions/function_conv.cpp b/be/src/vec/functions/function_conv.cpp index 6f755ff561..ae88f68a04 100644 --- a/be/src/vec/functions/function_conv.cpp +++ b/be/src/vec/functions/function_conv.cpp @@ -52,7 +52,7 @@ public: ColumnPtr argument_columns[3]; for (int i = 0; i < 3; ++i) { - argument_columns[i] = block.get_by_position(arguments[i]).column; + argument_columns[i] = block.get_by_position(arguments[i]).column->convert_to_full_column_if_const(); if (auto* nullable = check_and_get_column(*argument_columns[i])) { argument_columns[i] = nullable->get_nested_column_ptr(); VectorizedUtils::update_null_map(result_null_map_column->get_data(), diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java index 0c8079cc6e..3a731d4bda 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSet.java @@ -1445,7 +1445,7 @@ public class FunctionSet