summaryrefslogtreecommitdiff
path: root/src/test/regress/sql
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/regress/sql')
-rw-r--r--src/test/regress/sql/plpgsql.sql23
1 files changed, 15 insertions, 8 deletions
diff --git a/src/test/regress/sql/plpgsql.sql b/src/test/regress/sql/plpgsql.sql
index 63b8bef14e..5e8db47572 100644
--- a/src/test/regress/sql/plpgsql.sql
+++ b/src/test/regress/sql/plpgsql.sql
@@ -2281,24 +2281,31 @@ begin
end;
$$ language plpgsql;
-
-- using list of scalars in fori and fore stmts
-create function for_vect() returns void as $$
+create function for_vect() returns void as $proc$
<<lbl>>declare a integer; b varchar; c varchar; r record;
begin
- -- old fori
- for i in 1 .. 10 loop
+ -- fori
+ for i in 1 .. 3 loop
raise notice '%', i;
end loop;
- for a in select 1 from generate_series(1,4) loop
+ -- fore with record var
+ for r in select gs as aa, 'BB' as bb, 'CC' as cc from generate_series(1,4) gs loop
+ raise notice '% % %', r.aa, r.bb, r.cc;
+ end loop;
+ -- fore with single scalar
+ for a in select gs from generate_series(1,4) gs loop
raise notice '%', a;
end loop;
- for a,b,c in select generate_series, 'BB','CC' from generate_series(1,4) loop
+ -- fore with multiple scalars
+ for a,b,c in select gs, 'BB','CC' from generate_series(1,4) gs loop
raise notice '% % %', a, b, c;
end loop;
-- using qualified names in fors, fore is enabled, disabled only for fori
- for lbl.a, lbl.b, lbl.c in execute E'select generate_series, \'bb\',\'cc\' from generate_series(1,4)' loop
+ for lbl.a, lbl.b, lbl.c in execute $$select gs, 'bb','cc' from generate_series(1,4) gs$$ loop
raise notice '% % %', a, b, c;
end loop;
end;
-$$ language plpgsql;
+$proc$ language plpgsql;
+
+select for_vect();