Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> 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.
I don't understand why a single counter is needed for phantom xids. We keep the cmin/cmax on the tuple already, and our own backend can look up the xmin/xmax that goes with the phantom. -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly