Andres Freund <and...@anarazel.de> writes:
> On March 8, 2018 10:46:53 AM PST, Tom Lane <t...@sss.pgh.pa.us> wrote:
>> Breaking fundamental invariants like
>> "ctid points to this tuple or its update successor" is going to cause
>> trouble.  There's a lot of code that knows that; more than knows the
>> details of what's in xmax, I believe.

> I don't think this is that big a problem. All code already needs to handle 
> the case where ctid points to an aborted update tuple. Which might long have 
> been replaced by as an independent role. That's why we have all this 
> updated.xmax == new.xmin checks. Which will, without any changes, catch the 
> proposed scheme, no?

No.  In those situations, the conclusion is that the current tuple is
live, which is exactly the wrong conclusion for a cross-partition update.
Or at least it might be the wrong conclusion ... I wonder how this patch
works if the updating transaction aborted.

                        regards, tom lane

Reply via email to