Skip to content

Commit abd3f8c

Browse files
committed
Improve regression test for #8410.
The previous version of the query disregarded the result of the MergeAppend instead of checking its results. Andres Freund
1 parent ac2d0e4 commit abd3f8c

File tree

2 files changed

+32
-33
lines changed

2 files changed

+32
-33
lines changed

src/test/regress/expected/inherit.out

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1353,42 +1353,41 @@ ORDER BY x, y;
13531353
-- exercise rescan code path via a repeatedly-evaluated subquery
13541354
explain (costs off)
13551355
SELECT
1356-
(SELECT g.i FROM (
1357-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
1356+
ARRAY(SELECT f.i FROM (
1357+
(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
13581358
UNION ALL
1359-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
1359+
(SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1)
13601360
) f(i)
1361-
ORDER BY f.i LIMIT 1)
1361+
ORDER BY f.i LIMIT 10)
13621362
FROM generate_series(1, 3) g(i);
1363-
QUERY PLAN
1364-
------------------------------------------------------------------------------------
1363+
QUERY PLAN
1364+
----------------------------------------------------------------
13651365
Function Scan on generate_series g
13661366
SubPlan 1
13671367
-> Limit
1368-
-> Result
1369-
-> Merge Append
1370-
Sort Key: generate_series.generate_series
1371-
-> Sort
1372-
Sort Key: generate_series.generate_series
1373-
-> Function Scan on generate_series
1374-
-> Sort
1375-
Sort Key: generate_series_1.generate_series
1376-
-> Function Scan on generate_series generate_series_1
1377-
(12 rows)
1368+
-> Merge Append
1369+
Sort Key: ((d.d + g.i))
1370+
-> Sort
1371+
Sort Key: ((d.d + g.i))
1372+
-> Function Scan on generate_series d
1373+
-> Sort
1374+
Sort Key: ((d_1.d + g.i))
1375+
-> Function Scan on generate_series d_1
1376+
(11 rows)
13781377

13791378
SELECT
1380-
(SELECT g.i FROM (
1381-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
1379+
ARRAY(SELECT f.i FROM (
1380+
(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
13821381
UNION ALL
1383-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
1382+
(SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1)
13841383
) f(i)
1385-
ORDER BY f.i LIMIT 1)
1384+
ORDER BY f.i LIMIT 10)
13861385
FROM generate_series(1, 3) g(i);
1387-
i
1388-
---
1389-
1
1390-
2
1391-
3
1386+
array
1387+
------------------------------
1388+
{1,5,6,8,11,11,14,16,17,20}
1389+
{2,6,7,9,12,12,15,17,18,21}
1390+
{3,7,8,10,13,13,16,18,19,22}
13921391
(3 rows)
13931392

13941393
reset enable_seqscan;

src/test/regress/sql/inherit.sql

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -442,21 +442,21 @@ ORDER BY x, y;
442442
-- exercise rescan code path via a repeatedly-evaluated subquery
443443
explain (costs off)
444444
SELECT
445-
(SELECT g.i FROM (
446-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
445+
ARRAY(SELECT f.i FROM (
446+
(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
447447
UNION ALL
448-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
448+
(SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1)
449449
) f(i)
450-
ORDER BY f.i LIMIT 1)
450+
ORDER BY f.i LIMIT 10)
451451
FROM generate_series(1, 3) g(i);
452452

453453
SELECT
454-
(SELECT g.i FROM (
455-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
454+
ARRAY(SELECT f.i FROM (
455+
(SELECT d + g.i FROM generate_series(4, 30, 3) d ORDER BY 1)
456456
UNION ALL
457-
(SELECT * FROM generate_series(1, 2) ORDER BY 1)
457+
(SELECT d + g.i FROM generate_series(0, 30, 5) d ORDER BY 1)
458458
) f(i)
459-
ORDER BY f.i LIMIT 1)
459+
ORDER BY f.i LIMIT 10)
460460
FROM generate_series(1, 3) g(i);
461461

462462
reset enable_seqscan;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy