Stephan Szabo <sszabo@megazone.bigpanda.com> writes:
> Is there a case other than a before trigger updating a row we will want to
> act upon later in the statement where we'll get a row with xmax of our
> transaction and cmax greater than the current command?
The greater-cmax case could occur via any kind of function, not only a
trigger, ie
update tab set x = foo(x) where ...
where foo() is a volatile function that internally updates the tab
table.
I suppose you could say that this is horrible programming practice and
anyone who tries it deserves whatever weird behavior ensues ... but
it's not the case that every such situation involves a trigger.
regards, tom lane