From 0765b2f8f6fe8b7c1c07f94b764ef8bb74a292b4 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Tue, 24 Jan 2023 13:50:11 +1300 Subject: [PATCH] Use OFFSET 0 instead of ORDER BY to stop subquery pullup b762fed64 recently changed this test to prevent subquery pullup to allow us to test Memoize with lateral_vars. As pointed out by Tom Lane, OFFSET 0 is our standard way of preventing subquery pullups, so do it that way instead. Discussion: https://postgr.es/m/2144818.1674517061@sss.pgh.pa.us Backpatch-through: 14, same as b762fed64 --- src/test/regress/expected/memoize.out | 4 ++-- src/test/regress/sql/memoize.sql | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/regress/expected/memoize.out b/src/test/regress/expected/memoize.out index de26829cb4b..7d8f3ca4240 100644 --- a/src/test/regress/expected/memoize.out +++ b/src/test/regress/expected/memoize.out @@ -64,7 +64,7 @@ WHERE t2.unique1 < 1000; SELECT explain_memoize(' SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 - WHERE t1.twenty = t2.unique1 ORDER BY 1) t2 + WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000;', false); explain_memoize ------------------------------------------------------------------------------------------- @@ -85,7 +85,7 @@ WHERE t1.unique1 < 1000;', false); -- And check we get the expected results. SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 - WHERE t1.twenty = t2.unique1 ORDER BY 1) t2 + WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000; count | avg -------+-------------------- diff --git a/src/test/regress/sql/memoize.sql b/src/test/regress/sql/memoize.sql index dcd0ec9af19..10df997d6ca 100644 --- a/src/test/regress/sql/memoize.sql +++ b/src/test/regress/sql/memoize.sql @@ -48,13 +48,13 @@ WHERE t2.unique1 < 1000; SELECT explain_memoize(' SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 - WHERE t1.twenty = t2.unique1 ORDER BY 1) t2 + WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000;', false); -- And check we get the expected results. SELECT COUNT(*),AVG(t2.unique1) FROM tenk1 t1, LATERAL (SELECT t2.unique1 FROM tenk1 t2 - WHERE t1.twenty = t2.unique1 ORDER BY 1) t2 + WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000; -- Reduce work_mem so that we see some cache evictions