diff --git a/core/trino-main/src/main/java/io/trino/operator/join/NestedLoopJoinOperator.java b/core/trino-main/src/main/java/io/trino/operator/join/NestedLoopJoinOperator.java index 797f4f62cbc2..5b3b3adaf8ac 100644 --- a/core/trino-main/src/main/java/io/trino/operator/join/NestedLoopJoinOperator.java +++ b/core/trino-main/src/main/java/io/trino/operator/join/NestedLoopJoinOperator.java @@ -262,10 +262,10 @@ static NestedLoopOutputIterator createNestedLoopOutputIterator(Page probePage, P } } catch (ArithmeticException overflow) { + // Repeat larger position count a smaller position count number of times + Page outputPage = new Page(max(probePositions, buildPositions)); + return new PageRepeatingIterator(outputPage, min(probePositions, buildPositions)); } - // Repeat larger position count a smaller position count number of times - Page outputPage = new Page(max(probePositions, buildPositions)); - return new PageRepeatingIterator(outputPage, min(probePositions, buildPositions)); } if (probeChannels.length == 0 && probePage.getPositionCount() <= buildPage.getPositionCount()) { return new PageRepeatingIterator(buildPage.getColumns(buildChannels), probePage.getPositionCount()); diff --git a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateCall.java b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateCall.java index c763c0fab887..1a663e2e35d5 100644 --- a/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateCall.java +++ b/core/trino-main/src/main/java/io/trino/sql/ir/optimizer/rule/EvaluateCall.java @@ -76,8 +76,7 @@ public Optional apply(Expression expression, Session session, Map