summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-09-14 14:30:40 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-09-14 14:30:40 -0400
commita163c006ca3e6026546ee0f6c487a0dcfc66f82b (patch)
treed57eb8969f2490ad68640c6e3fee5ba5b67e0338 /src/test
parent55c3391d1e6a201b5b891781d21fe682a8c64fe6 (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.out6
-rw-r--r--src/test/regress/sql/tsrf.sql6
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));