Re: Nested transactions and tuple header info - Mailing list pgsql-hackers

From Bruce Momjian
Subject Re: Nested transactions and tuple header info
Date
Msg-id 200406032108.i53L8gi10917@candle.pha.pa.us
Whole thread Raw
In response to Re: Nested transactions and tuple header info  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
List pgsql-hackers
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 pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: [GENERAL] Check for prepared statement
Next
From: Jonathan Gardner
Date:
Subject: Understanding transactions