pgsql: Merge coding of return/exit/continue cases in plpgsql's loopsta - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Merge coding of return/exit/continue cases in plpgsql's loopsta
Date
Msg-id E1eVlyI-0000DY-H2@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Merge coding of return/exit/continue cases in plpgsql's loop statements.

plpgsql's five different loop control statements contained three distinct
implementations of the same (or what ought to be the same, at least)
logic for handling return/exit/continue result codes from their child
statements.  At best, that's trouble waiting to happen, and there seems
no very good reason for the coding to be so different.  Refactor so that
all the common logic is expressed in a single macro.

Discussion: https://postgr.es/m/26314.1514670401@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3e724aac74e8325fe48dac8a30c2a7974eff7a14

Modified Files
--------------
src/pl/plpgsql/src/pl_exec.c | 310 +++++++++++++------------------------------
1 file changed, 90 insertions(+), 220 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Add parallel-aware hash joins.
Next
From: Noah Misch
Date:
Subject: pgsql: In tests, await an LSN no later than the recovery target.