Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> I've been trying to think of ways to solve these problems by having a
>> main xact and all its subxacts share a common CID sequence (ie, a
>> subxact would have its own xid but would not start CID over at one).
>> If you assume that, then Bruce's idea may indeed work, since you would
>> never replace xmin in a way that would shift the interpretation of cmin
>> into a different CID sequence. But I suspect there is a simpler way to
>> solve it given that constraint.
> I thought about using a global command counter. The problem there is
> that there is no way to control the visibility of tuples by other
> transactions on commit except going back end fixing up tuples, which is
> unacceptable.
No, I said own xid --- so the "phantom xid" part is still there. But
your idea definitely does *not* work unless you use a single CID
sequence for the whole main xact; and I'm still wondering if there's
not a simpler implementation possible given that assumption.
regards, tom lane