Thread: pgsql: Merge coding of return/exit/continue cases in plpgsql's loopsta

pgsql: Merge coding of return/exit/continue cases in plpgsql's loopsta

From
Tom Lane
Date:
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(-)