diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2016-09-14 14:30:40 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2016-09-14 14:30:40 -0400 |
| commit | a163c006ca3e6026546ee0f6c487a0dcfc66f82b (patch) | |
| tree | d57eb8969f2490ad68640c6e3fee5ba5b67e0338 /src/test | |
| parent | 55c3391d1e6a201b5b891781d21fe682a8c64fe6 (diff) | |
Tweak targetlist-SRF tests.
Add a test case showing that we don't support SRFs in window-function
arguments. Remove a duplicate test case for SRFs in aggregate arguments.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/regress/expected/tsrf.out | 6 | ||||
| -rw-r--r-- | src/test/regress/sql/tsrf.sql | 6 |
2 files changed, 7 insertions, 5 deletions
diff --git a/src/test/regress/expected/tsrf.out b/src/test/regress/expected/tsrf.out index 622f75517a0..e9bea411fd4 100644 --- a/src/test/regress/expected/tsrf.out +++ b/src/test/regress/expected/tsrf.out @@ -159,6 +159,9 @@ SELECT few.dataa, count(*) FROM few WHERE dataa = 'a' GROUP BY few.dataa, unnest -- SRFs are not allowed in aggregate arguments SELECT min(generate_series(1, 3)) FROM few; ERROR: set-valued function called in context that cannot accept a set +-- SRFs are not allowed in window function arguments, either +SELECT min(generate_series(1, 3)) OVER() FROM few; +ERROR: set-valued function called in context that cannot accept a set -- SRFs are normally computed after window functions SELECT id,lag(id) OVER(), count(*) OVER(), generate_series(1,3) FROM few; id | lag | count | generate_series @@ -369,9 +372,6 @@ INSERT INTO fewmore VALUES(1) RETURNING generate_series(1,3); ERROR: set-returning functions are not allowed in RETURNING LINE 1: INSERT INTO fewmore VALUES(1) RETURNING generate_series(1,3)... ^ --- nor aggregate arguments -SELECT count(generate_series(1,3)) FROM few; -ERROR: set-valued function called in context that cannot accept a set -- nor standalone VALUES (but surely this is a bug?) VALUES(1, generate_series(1,2)); ERROR: set-valued function called in context that cannot accept a set diff --git a/src/test/regress/sql/tsrf.sql b/src/test/regress/sql/tsrf.sql index c28dd017e57..b0dfc193ace 100644 --- a/src/test/regress/sql/tsrf.sql +++ b/src/test/regress/sql/tsrf.sql @@ -47,6 +47,9 @@ SELECT few.dataa, count(*) FROM few WHERE dataa = 'a' GROUP BY few.dataa, unnest -- SRFs are not allowed in aggregate arguments SELECT min(generate_series(1, 3)) FROM few; +-- SRFs are not allowed in window function arguments, either +SELECT min(generate_series(1, 3)) OVER() FROM few; + -- SRFs are normally computed after window functions SELECT id,lag(id) OVER(), count(*) OVER(), generate_series(1,3) FROM few; -- unless referencing SRFs @@ -73,8 +76,7 @@ UPDATE fewmore SET data = generate_series(4,9); -- SRFs are not allowed in RETURNING INSERT INTO fewmore VALUES(1) RETURNING generate_series(1,3); --- nor aggregate arguments -SELECT count(generate_series(1,3)) FROM few; + -- nor standalone VALUES (but surely this is a bug?) VALUES(1, generate_series(1,2)); |
