From 48bb798d0dcc039997f83f44424cb40dfeb4d292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Osipiuk?= Date: Fri, 16 Sep 2022 19:56:13 +0200 Subject: [PATCH] Make PartitionedOutputOperator.finish() idempotent The PartitionedOutputOperator.finish() was not idempotent in the case when only position counter was tracked in PositionsAppenderPageBuilder. This could result in wrong query results. --- .../trino/operator/output/PositionsAppenderPageBuilder.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderPageBuilder.java b/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderPageBuilder.java index 7c232be59797..f90db9682c26 100644 --- a/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderPageBuilder.java +++ b/core/trino-main/src/main/java/io/trino/operator/output/PositionsAppenderPageBuilder.java @@ -98,10 +98,6 @@ public boolean isEmpty() public Page build() { - if (channelAppenders.length == 0) { - return new Page(declaredPositions); - } - Block[] blocks = new Block[channelAppenders.length]; for (int i = 0; i < blocks.length; i++) { blocks[i] = channelAppenders[i].build();