diff options
| author | Tom Lane | 2008-04-01 03:51:09 +0000 |
|---|---|---|
| committer | Tom Lane | 2008-04-01 03:51:09 +0000 |
| commit | e2a8804330a1d3a043fecc49833b47d0937bf7b6 (patch) | |
| tree | 3bdc3d6852c1314e5682675c75eaafa83169c9b5 /src/test | |
| parent | d5466e38f0fbc196b250d082bdab62728de036f9 (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.out | 23 | ||||
| -rw-r--r-- | src/test/regress/sql/plpgsql.sql | 16 |
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'); |
