Re: BUG #16705: Triggers deferred during commit callback are not executed

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #16705: Triggers deferred during commit callback are not executed
Дата
Msg-id 1570376.1604674198@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #16705: Triggers deferred during commit callback are not executed  (PG Bug reporting form <noreply@postgresql.org>)
Ответы Re: BUG #16705: Triggers deferred during commit callback are not executed  (Ross Biro <rbiro@interfacefinancial.com>)
Список pgsql-bugs
PG Bug reporting form <noreply@postgresql.org> writes:
> If you register a function with RegisterXactCallback that causes a trigger
> to be deferred, that trigger is never executed.

I'd say that's in the category of "conceptually ridiculous".
The PRE_COMMIT events are supposed to fire after all user-level
actions in the transaction are finished.  Running a trigger that
could do arbitrary things would certainly break the assumptions of
whatever processing people might be doing in PRE_COMMIT callbacks.

Perhaps there's a use case for an even earlier callback that runs in or
before the fire-deferred-triggers loop.  But you haven't made any argument
for it, so I'm loath to add more complexity and cycles to transaction
commit for this.  The whole area is quite tricky --- for instance, the
interaction with cursor closing is not something that would leap to mind.
So it's not obvious that such a callback could do anything useful and
bulletproof.

            regards, tom lane



В списке pgsql-bugs по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #16665: Segmentation fault
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #16703: pg-dump fails to process recursive view definition