pgsql: Fix thinko in plpgsql memory leak fix. - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Fix thinko in plpgsql memory leak fix.
Date
Msg-id E1ktvaV-00030H-ET@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Fix thinko in plpgsql memory leak fix.

Commit a6b1f5365 intended to place the transient "target" list of
a CALL statement in the function's statement-lifespan context,
but I fat-fingered that and used get_eval_mcontext() instead of
get_stmt_mcontext().  The eval_mcontext belongs to the "simple
expression" infrastructure, which is destroyed at transaction end.
The net effect is that a CALL in a procedure to another procedure
that has OUT or INOUT parameters would fail if the called procedure
did a COMMIT.

Per report from Peter Eisentraut.  Back-patch to v11, like the
prior patch.

Discussion: https://postgr.es/m/f075f7be-c654-9aa8-3ffc-e9214622f02a@enterprisedb.com

Branch
------
REL_13_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/0ea25ed108d8344ac17012e62790e7e9ef7f1a7a

Modified Files
--------------
src/pl/plpgsql/src/expected/plpgsql_call.out | 21 +++++++++++++++++++++
src/pl/plpgsql/src/pl_exec.c                 |  4 ++--
src/pl/plpgsql/src/sql/plpgsql_call.sql      | 24 ++++++++++++++++++++++++
3 files changed, 47 insertions(+), 2 deletions(-)


pgsql-committers by date:

Previous
From: Fabien COELHO
Date:
Subject: Re: pgsql: Add pg_alterckey utility to change the cluster key
Next
From: Tom Lane
Date:
Subject: pgsql: Further fix thinko in plpgsql memory leak fix.