Tom Lane wrote:
>
> Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> >> I think all we need to do to implement things correctly is to consider a
> >> previous event only if both xmin and cmin of the old tuple match the
> >> current xact & command IDs, rather than considering it on the basis of
> >> xmin alone.
>
> > Are there any things that might update the command ID during the execution
> > of the statement from inside functions that are being run?
>
> Functions can run new commands that get new command ID numbers within
> the current transaction --- but on return from the function, the current
> command number is restored. I believe rows inserted by such a function
> would look "in the future" to us at the outer command, and would be
> ignored.
I'm suspicious if this is reasonable. If those changes are ignored
when are taken into account ? ISTM deferred constraints has to see
the latest tuples and take the changes into account.
regards,
Hiroshi Inoue