Re: CURRENT OF cursor without OIDs - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject Re: CURRENT OF cursor without OIDs
Date
Msg-id 3B71F71D.A39B929B@tpf.co.jp
Whole thread Raw
In response to CURRENT OF cursor without OIDs  (Ian Lance Taylor <ian@airs.com>)
List pgsql-hackers
Tom Lane wrote:
> 
> Hiroshi Inoue <Inoue@tpf.co.jp> writes:
> > GetXmaxRecent() ignores the backend tx_old because it had been
> > committed when VACUUM started and may return the xid > the
> > very old xid of tx_old.
> 
> Absolutely not; things would never work if that were true.
> GetXmaxRecent() returns the oldest TID that was running *when any
> current transaction started*, not just VACUUM's transaction.  Thus,
> no transaction that could be considered live by the cursor-holding
> transaction will be considered dead by VACUUM.
> 

Oops I've misunderstood GetXmaxRecent() until now.
Now I'm checking the current source.
Hmm is there any place setting proc->xmin other than
the following ?

[in storage/ipc/sinval.c]      if (serializable)              MyProc->xmin = snapshot->xmin;

regards,
Hiroshi Inoue


pgsql-hackers by date:

Previous
From: Hiroshi Inoue
Date:
Subject: Re: CURRENT OF cursor without OIDs
Next
From: Hiroshi Inoue
Date:
Subject: Re: To be 7.1.3 or not to be 7.1.3?