diff --git a/core/trino-main/src/main/java/io/trino/operator/project/PageProcessor.java b/core/trino-main/src/main/java/io/trino/operator/project/PageProcessor.java index ed5cc98de9f3..d285836bdfd9 100644 --- a/core/trino-main/src/main/java/io/trino/operator/project/PageProcessor.java +++ b/core/trino-main/src/main/java/io/trino/operator/project/PageProcessor.java @@ -328,8 +328,9 @@ private ProcessBatchResult processBatch(int batchSize) } else { if (pageProjectWork == null) { + Page loadedPage = projection.getInputChannels().getInputChannels(page); expressionProfiler.start(); - pageProjectWork = projection.project(session, yieldSignal, projection.getInputChannels().getInputChannels(page), positionsBatch); + pageProjectWork = projection.project(session, yieldSignal, loadedPage, positionsBatch); expressionProfiler.stop(positionsBatch.size()); } if (!pageProjectWork.process()) {