aboutsummaryrefslogtreecommitdiff
path: root/src/test/regress/expected/plpgsql.out
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/expected/plpgsql.out')
-rw-r--r--src/test/regress/expected/plpgsql.out51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/test/regress/expected/plpgsql.out b/src/test/regress/expected/plpgsql.out
index 84a5943bbf1..078c14d8158 100644
--- a/src/test/regress/expected/plpgsql.out
+++ b/src/test/regress/expected/plpgsql.out
@@ -3287,6 +3287,57 @@ select * from return_dquery();
(4 rows)
drop function return_dquery();
+-- test RETURN QUERY with dropped columns
+create table tabwithcols(a int, b int, c int, d int);
+insert into tabwithcols values(10,20,30,40),(50,60,70,80);
+create or replace function returnqueryf()
+returns setof tabwithcols as $$
+begin
+ return query select * from tabwithcols;
+ return query execute 'select * from tabwithcols';
+end;
+$$ language plpgsql;
+select * from returnqueryf();
+ a | b | c | d
+----+----+----+----
+ 10 | 20 | 30 | 40
+ 50 | 60 | 70 | 80
+ 10 | 20 | 30 | 40
+ 50 | 60 | 70 | 80
+(4 rows)
+
+alter table tabwithcols drop column b;
+select * from returnqueryf();
+ a | c | d
+----+----+----
+ 10 | 30 | 40
+ 50 | 70 | 80
+ 10 | 30 | 40
+ 50 | 70 | 80
+(4 rows)
+
+alter table tabwithcols drop column d;
+select * from returnqueryf();
+ a | c
+----+----
+ 10 | 30
+ 50 | 70
+ 10 | 30
+ 50 | 70
+(4 rows)
+
+alter table tabwithcols add column d int;
+select * from returnqueryf();
+ a | c | d
+----+----+---
+ 10 | 30 |
+ 50 | 70 |
+ 10 | 30 |
+ 50 | 70 |
+(4 rows)
+
+drop function returnqueryf();
+drop table tabwithcols;
-- Tests for 8.4's new RAISE features
create or replace function raise_test() returns void as $$
begin