Re: POC: PLpgSQL FOREACH IN JSON ARRAY
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Jim Jones <jim.jones@uni-muenster.de>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2026-03-04T18:50:34Z
Lists: pgsql-hackers
Attachments
- v20260304-5-0001-FOREACH-scalar-IN-JSON-ARRAY.patch (text/x-patch) patch v20260304-0001
Hi st 4. 3. 2026 v 12:35 odesílatel Jim Jones <jim.jones@uni-muenster.de> napsal: > I reviewed the code I have nothing to add at this point. LGTM! > > The tests touch a lot of different scenarios, but for the sake of > completeness I'd like to suggest adding these three cases: > > -- EXIT and CONTINUE can be triggered by LOOP_RC_PROCESSING > DO $$ > DECLARE x int; > BEGIN > FOREACH x IN JSON ARRAY '[1,2,3,4,5]' > LOOP > EXIT WHEN x = 3; > RAISE NOTICE '%', x; > END LOOP; > END; > $$; > > DO $$ > DECLARE x int; > BEGIN > FOREACH x IN JSON ARRAY '[1,2,3,4,5]' > LOOP > CONTINUE WHEN x % 2 = 0; > RAISE NOTICE '%', x; > END LOOP; > END; > $$; > > > -- Variable instead of string > DO $$ > DECLARE x int; arr jsonb; > BEGIN > SELECT jsonb_agg(i) INTO arr > FROM generate_series(1,3) i; > > FOREACH x IN JSON ARRAY arr > LOOP > RAISE NOTICE '%', x; > END LOOP; > END; > $$; > > I merged these examples to tests Thank you for review Regards Pavel > > Thanks! > > Best, Jim >