Merge pull request #58745 from Algunenano/i58727

Fix double destroy call on exception throw in addBatchLookupTable8
This commit is contained in:
Alexey Milovidov 2024-01-13 03:36:36 +01:00 committed by GitHub
commit 6b666f20a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 2 deletions

View File

@ -1204,8 +1204,9 @@ void NO_INLINE Aggregator::executeImplBatch(
inst->state_offset,
[&](AggregateDataPtr & aggregate_data)
{
aggregate_data = aggregates_pool->alignedAlloc(total_size_of_aggregate_states, align_aggregate_states);
createAggregateStates(aggregate_data);
AggregateDataPtr place = aggregates_pool->alignedAlloc(total_size_of_aggregate_states, align_aggregate_states);
createAggregateStates(place);
aggregate_data = place;
},
state.getKeyData(),
inst->batch_arguments,

View File

@ -0,0 +1,2 @@
-- https://github.com/ClickHouse/ClickHouse/issues/58727
SELECT number % 2 AS even, aggThrow(number) FROM numbers(10) GROUP BY even; -- { serverError AGGREGATE_FUNCTION_THROW}