čt 15. 12. 2022 v 9:34 odesílatel Kyotaro Horiguchi <horikyota....@gmail.com>
napsal:

> At Thu, 15 Dec 2022 09:03:12 +0100, Pavel Stehule <pavel.steh...@gmail.com>
> wrote in
> > I found some solution based by using fmgr hook
> >
> >
> https://github.com/okbob/plpgsql_check/commit/9a17e97354a48913de5219048ee3be6f8460bae9
>
> Oh! Thanks for the pointer, will look into that.
>
> By the way, It seems to me that the tool is using
> RegisterResourceReleaseCallback to reset the function nest level. But
> since there's a case where the mechanism doesn't work, I suspect that
> the callback can be missed in some cases of error return, which seems
> to be a bug if it is true..
>
> # I haven't confirmed that behavior by myself, though.
>

it should  be executed

/*
 * Register or deregister callback functions for resource cleanup
 *
 * These functions are intended for use by dynamically loaded modules.
 * For built-in modules we generally just hardwire the appropriate calls.
 *
 * Note that the callback occurs post-commit or post-abort, so the callback
 * functions can only do noncritical cleanup.
 */
void
RegisterResourceReleaseCallback(ResourceReleaseCallback callback, void *arg)
{

but it is based on resource owner, so timing can be different than you
expect

Regards

Pavel


>
> regards.
>
> --
> Kyotaro Horiguchi
> NTT Open Source Software Center
>

Reply via email to