summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorTom Lane2008-04-01 03:51:09 +0000
committerTom Lane2008-04-01 03:51:09 +0000
commite2a8804330a1d3a043fecc49833b47d0937bf7b6 (patch)
tree3bdc3d6852c1314e5682675c75eaafa83169c9b5 /src/test
parentd5466e38f0fbc196b250d082bdab62728de036f9 (diff)
Support EXECUTE USING in plpgsql.
Pavel Stehule, with some improvements by myself.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/regress/expected/plpgsql.out23
-rw-r--r--src/test/regress/sql/plpgsql.sql16
2 files changed, 38 insertions, 1 deletions
diff --git a/src/test/regress/expected/plpgsql.out b/src/test/regress/expected/plpgsql.out
index 03204b66e6b..bcf974483ea 100644
--- a/src/test/regress/expected/plpgsql.out
+++ b/src/test/regress/expected/plpgsql.out
@@ -3128,3 +3128,26 @@ select * from ret_query2(8);
c9f0f895fb98ab9159f51fd0297e236d | 8 | t
(9 rows)
+-- test EXECUTE USING
+create function exc_using(int, text) returns int as $$
+declare i int;
+begin
+ for i in execute 'select * from generate_series(1,$1)' using $1+1 loop
+ raise notice '%', i;
+ end loop;
+ execute 'select $2 + $2*3 + length($1)' into i using $2,$1;
+ return i;
+end
+$$ language plpgsql;
+select exc_using(5, 'foobar');
+NOTICE: 1
+NOTICE: 2
+NOTICE: 3
+NOTICE: 4
+NOTICE: 5
+NOTICE: 6
+ exc_using
+-----------
+ 26
+(1 row)
+
diff --git a/src/test/regress/sql/plpgsql.sql b/src/test/regress/sql/plpgsql.sql
index 3c7459b2b7c..2a93ffc611e 100644
--- a/src/test/regress/sql/plpgsql.sql
+++ b/src/test/regress/sql/plpgsql.sql
@@ -2580,4 +2580,18 @@ begin
end;
$$ language plpgsql;
-select * from ret_query2(8); \ No newline at end of file
+select * from ret_query2(8);
+
+-- test EXECUTE USING
+create function exc_using(int, text) returns int as $$
+declare i int;
+begin
+ for i in execute 'select * from generate_series(1,$1)' using $1+1 loop
+ raise notice '%', i;
+ end loop;
+ execute 'select $2 + $2*3 + length($1)' into i using $2,$1;
+ return i;
+end
+$$ language plpgsql;
+
+select exc_using(5, 'foobar');