Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> You can't change xmin --- this would break visibility tests.
> Basically the phantom xid's are a shorthand for saying the tuple was
> created by xid1 and deleted by xid2, both part of the same main
> transaction.
That would be fine if the shorthand were readable, but it's not.
> A cursor looking at the rows has to recognize the xid is a phantom (via
> pg_subtrans) and look up the creation xid.
And it will find that how? Imagine that the creating transaction is
itself a subtransaction, and the deleting one is a few nesting levels
further down. I don't see how the tuple is going to carry enough
information to let you determine what's what, if the deleting subxact
overwrites the creating one's XID.
regards, tom lane