Re: postgres_fdw: batch inserts vs. before row triggers

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: postgres_fdw: batch inserts vs. before row triggers
Дата
Msg-id 3245064.1659563877@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: postgres_fdw: batch inserts vs. before row triggers  (Matthias van de Meent <boekewurm+postgres@gmail.com>)
Ответы Re: postgres_fdw: batch inserts vs. before row triggers
Список pgsql-hackers
Matthias van de Meent <boekewurm+postgres@gmail.com> writes:
> I don't have a current version of the SQL spec, but one preliminary
> version of SQL:2012 I retrieved via the wiki details that all BEFORE
> triggers on INSERT/UPDATE/DELETE statements are all executed before
> _any_ of that statements' affected data is modified.
> ...
> I don't know about the semantics of triggers in the latest SQL
> standard versions, but based on that sample it seems like we're
> non-compliant on BEFORE trigger behaviour, and it doesn't seem like
> it's documented in the trigger documentation.

I think we're compliant if you declare the trigger functions as
stable (or immutable, but in any case where this matters, I think
you'd be lying).  They'll then run with the snapshot of the calling
query, in which those updates are not yet visible.

This is documented somewhere, but maybe not anywhere near triggers.

            regards, tom lane



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

Предыдущее
От: Matthias van de Meent
Дата:
Сообщение: Re: postgres_fdw: batch inserts vs. before row triggers
Следующее
От: Andres Freund
Дата:
Сообщение: Re: Unstable tests for recovery conflict handling