"Nicolas Barbier" <nicolas.barbier@gmail.com> writes:
> 2006/4/3, Tom Lane <tgl@sss.pgh.pa.us>:
>> AFAICS there are no circumstances, ever, in which update-in-place is
>> "safe". (No transaction can guarantee that it will commit.)
> Updates to row values that did not "escape" the currect transaction
> yet (ie, rows that were created by or have their last value written by
> the current transaction).
Wrong, because MVCC also applies within transactions: a snapshot having
a lower command counter than what you are executing at should not see
your change. A typical example of this is that an update scan must not
see tuples generated by triggers fired by that scan.
regards, tom lane