postgres.git / summary / log / commit / refs
commit 0765b2f8f6fe8b7c1c07f94b764ef8bb74a292b4
Author: David Rowley <drowley@postgresql.org>
Date: Tue Jan 24 00:50:11 2023 +0000
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
[parent: bcec08907e93]