]> granicus.if.org Git - postgresql/commit
Trigger stmt_beg and stmt_end for top-level statement blocks of PL/pgSQL
authorMichael Paquier <michael@paquier.xyz>
Sun, 30 Dec 2018 05:35:15 +0000 (14:35 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sun, 30 Dec 2018 05:35:15 +0000 (14:35 +0900)
commite0ef136d5235f39f5652c209c08a5d4322560e9c
treea09742b50c4ceeeb068a0d0cfb23dca61e7a22de
parent4203842a1cd06a7c30fd3eaae1c111928909e539
Trigger stmt_beg and stmt_end for top-level statement blocks of PL/pgSQL

PL/pgSQL provides a set of callbacks which can be used for extra
instrumentation of functions written in this language called at function
setup, begin and end, as well as statement begin and end.  When calling
a routine, a trigger, or an event trigger, statement callbacks are not
getting called for the top-level statement block leading to an
inconsistent handling compared to the other statements.  This
inconsistency can potentially complicate extensions doing
instrumentation work on top of PL/pgSQL, so this commit makes sure that
all statement blocks, including the top-level one, go through the
correct corresponding callbacks.

Author: Pavel Stehule
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/CAFj8pRArEANsaUjo5in9_iQt0vKf9ecwDAmsdN_EBwL13ps12A@mail.gmail.com
src/pl/plpgsql/src/pl_exec.c