Alvaro Herrera wrote: > On Wed, Jun 02, 2004 at 10:57:05AM -0400, Bruce Momjian wrote: > > Tom Lane wrote: > > > > > 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. > > Not sure either way (maybe you are right), but I use the global counter > anyway because some tests would become a very ugly mess if I didn't. I > think the phantom idea is also simpler with the global counter. > > And I see no reason to use local counter. We certainly are not > hitting the limit with the global counter, as Tom pointed out recently > in a thread about the aborted CID bitmaps.
Sure, use the global counter if it helps. My only point was that I didn't see how a global counter could reduce the number of times we have to look up the phantom xid to find the xmin/xmax. However, if you have a map showing which command counter goes with which subtransaction, then you _certainly_ could reduce the number of phantom lookups. (The command counter cmin/cmax tells you the xmin/xmax). In fact, in that case, the phatom xid's are only used on commit so you can make certain tuples visible/invisible to other transactions. To find the phantom xid idea, I had to wander around the house for a few hours thinking of what was in that tuple header and how this could be accomplished. I am sorry I led Alvaro initially into thinking he didn't need to keep the cmin. -- 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