On K, 2005-08-17 at 23:58 +0300, Hannu Krosing wrote:
> On K, 2005-08-17 at 16:45 -0400, Tom Lane wrote:
> > Hannu Krosing <hannu@skype.net> writes:
> > > On K, 2005-08-17 at 14:48 -0400, Tom Lane wrote:
> > >> While testing this I realized that it does not in fact work as
> > >> advertised. It will only exclude long-running VACUUMs from other
> > >> VACUUMs' OldestXmin if *all* the transactions in the system are lazy
> > >> VACUUMs. If there is even one regular transaction in the system,
> > >> that transaction will include the VACUUMs in its MyProc->xmin, and
> > >> thence GetOldestXmin will have to include them in its result.
> >
> > > Only if these regular transactions are running in SERIALIZABLE isolation
> > > level, else MyProc->xmin is not set inside GetSnapshotData.
> >
> > Better read the code again. The first snap in *any* transaction sets
> > MyProc->xmin.
>
> Can't find the place :(
>
> Could you point to the file / function that does this.
Nevermind. Found it - GetTransactionSnapshot() always gets a
serializable snapshot first.
--
Hannu Krosing <hannu@tm.ee>