Thread: pgsql: Fix EXIT out of outermost block in plpgsql.

pgsql: Fix EXIT out of outermost block in plpgsql.

From
Tom Lane
Date:
Fix EXIT out of outermost block in plpgsql.

Ordinarily, using EXIT this way would draw "control reached end of
function without RETURN".  However, if the function is one where we
don't require an explicit RETURN (such as a DO block), that should
not happen.  It did anyway, because add_dummy_return() neglected to
account for the case.

Per report from Herwig Goemans.  Back-patch to all supported branches.

Discussion: https://postgr.es/m/868ae948-e3ca-c7ec-95a6-83cfc08ef750@gmail.com

Branch
------
REL_14_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/4ffd3fe4d6ccc9ff36271e5a21ea3b065621b982

Modified Files
--------------
src/pl/plpgsql/src/expected/plpgsql_control.out | 11 +++++++++++
src/pl/plpgsql/src/pl_comp.c                    |  6 ++++--
src/pl/plpgsql/src/sql/plpgsql_control.sql      | 12 ++++++++++++
3 files changed, 27 insertions(+), 2 deletions(-)