summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rowley2023-08-04 01:27:19 +0000
committerDavid Rowley2023-08-04 01:27:19 +0000
commit7516056c584e3f7e04269f2e80835d1433e869c4 (patch)
tree0424cb1c421f8f0c0e892bda9edb10d4e15448f6
parent3fd19a9b23c2906da52f3f3732dbc533477f284d (diff)
Attempt to stabilize new window agg regression test
This test was recently added in 3900a02c9. It appears to be unstable in regards to the join order presumably due to the relations at either side of the join being equal in side. Here we add a qual to make one of them smaller so the planner is more likely to choose to hash the smaller of the two. Reported-by: Nathan Bossart, Tom Lane Discussion: https://www.postgr.es/m/20230803235403.GC1238296@nathanxps13
-rw-r--r--src/test/regress/expected/window.out10
-rw-r--r--src/test/regress/sql/window.sql1
2 files changed, 7 insertions, 4 deletions
diff --git a/src/test/regress/expected/window.out b/src/test/regress/expected/window.out
index 2628033327d..69a38df10b6 100644
--- a/src/test/regress/expected/window.out
+++ b/src/test/regress/expected/window.out
@@ -4834,17 +4834,19 @@ LIMIT 1;
EXPLAIN (COSTS OFF)
SELECT COUNT(*) OVER ()
FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous
+WHERE t2.two = 1
LIMIT 1;
- QUERY PLAN
---------------------------------------------------------------------------------
+ QUERY PLAN
+-------------------------------------------------------------------
Limit
-> WindowAgg
-> Hash Join
Hash Cond: (t1.unique1 = t2.tenthous)
-> Index Only Scan using tenk1_unique1 on tenk1 t1
-> Hash
- -> Index Only Scan using tenk1_thous_tenthous on tenk1 t2
-(7 rows)
+ -> Seq Scan on tenk1 t2
+ Filter: (two = 1)
+(8 rows)
-- Ensure we get a cheap total plan. This time use UNBOUNDED FOLLOWING, which
-- needs to read all join rows to output the first WindowAgg row.
diff --git a/src/test/regress/sql/window.sql b/src/test/regress/sql/window.sql
index 4789de09376..9113a92ae0b 100644
--- a/src/test/regress/sql/window.sql
+++ b/src/test/regress/sql/window.sql
@@ -1734,6 +1734,7 @@ LIMIT 1;
EXPLAIN (COSTS OFF)
SELECT COUNT(*) OVER ()
FROM tenk1 t1 INNER JOIN tenk1 t2 ON t1.unique1 = t2.tenthous
+WHERE t2.two = 1
LIMIT 1;
-- Ensure we get a cheap total plan. This time use UNBOUNDED FOLLOWING, which