Florian Pflug <fgp@phlo.org> wrote:
> To me, it still seems conceptionally cleaner to just decree that a
> row must not be modified while BEFORE triggers are running,
> period.
>
> This, BTW, also matches what Oracle does, only on a per-row
> instead of per-table basis. Oracle AFAIR simply forbids touching
> of the table a BEFORE trigger is attached to from within that
> trigger. (They even forbid SELECTS, which is presumably because
> they don't have an equivalent of our per-row command id, i.e.
> cannot ensure that such a SELECT sees the state the table was in
> at the beginning of the statement)
It appears this was in flight while I was composing my last post.
This seems pretty strict, but given the trade-offs, perhaps it is
worth it. I can live with either solution, myself.
-Kevin