Thread: pgsql: Fix thinko in plpgsql memory leak fix.
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_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/fd1347f9d8def3a892a7335ec026bff0227db1af 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(-)