]> granicus.if.org Git - postgresql/commit
Merge coding of return/exit/continue cases in plpgsql's loop statements.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 31 Dec 2017 22:20:17 +0000 (17:20 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 31 Dec 2017 22:20:17 +0000 (17:20 -0500)
commit3e724aac74e8325fe48dac8a30c2a7974eff7a14
tree8d75c30dc70c33826b2de72d929a07bfe09617c0
parentdd2243f2ade43bcad8e615e6cf4286be250e374a
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
src/pl/plpgsql/src/pl_exec.c