diff options
-rw-r--r-- | src/test/regress/expected/tsrf.out | 6 | ||||
-rw-r--r-- | src/test/regress/sql/tsrf.sql | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/test/regress/expected/tsrf.out b/src/test/regress/expected/tsrf.out index 8c47f0f668c..dca51a842fa 100644 --- a/src/test/regress/expected/tsrf.out +++ b/src/test/regress/expected/tsrf.out @@ -115,6 +115,7 @@ SELECT few.id FROM few ORDER BY id, generate_series(1,3) DESC; (9 rows) -- SRFs are computed after aggregation +SET enable_hashagg TO 0; -- stable output order SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa; dataa | count | min | max | unnest -------+-------+-----+-----+-------- @@ -127,17 +128,18 @@ SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, unnest('{1,1,3}'::int[]); dataa | count | min | max | unnest -------+-------+-----+-----+-------- - a | 1 | 1 | 1 | 3 a | 2 | 1 | 1 | 1 + a | 1 | 1 | 1 | 3 (2 rows) SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, 5; dataa | count | min | max | unnest -------+-------+-----+-----+-------- - a | 1 | 1 | 1 | 3 a | 2 | 1 | 1 | 1 + a | 1 | 1 | 1 | 3 (2 rows) +RESET enable_hashagg; -- check HAVING works when GROUP BY does [not] reference SRF output SELECT dataa, generate_series(1,1), count(*) FROM few GROUP BY 1 HAVING count(*) > 1; dataa | generate_series | count diff --git a/src/test/regress/sql/tsrf.sql b/src/test/regress/sql/tsrf.sql index cf2fbe3e52f..ff2fa3eb9a9 100644 --- a/src/test/regress/sql/tsrf.sql +++ b/src/test/regress/sql/tsrf.sql @@ -31,10 +31,12 @@ SELECT few.id, generate_series(1,3) g FROM few ORDER BY id, generate_series(1,3) SELECT few.id FROM few ORDER BY id, generate_series(1,3) DESC; -- SRFs are computed after aggregation +SET enable_hashagg TO 0; -- stable output order SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa; -- unless referenced in GROUP BY clause SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, unnest('{1,1,3}'::int[]); SELECT few.dataa, count(*), min(id), max(id), unnest('{1,1,3}'::int[]) FROM few WHERE few.id = 1 GROUP BY few.dataa, 5; +RESET enable_hashagg; -- check HAVING works when GROUP BY does [not] reference SRF output SELECT dataa, generate_series(1,1), count(*) FROM few GROUP BY 1 HAVING count(*) > 1; |