Re: [WIP] Keeping track of snapshots

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Cc: "Pg Patches" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: [WIP] Keeping track of snapshots
Date: 2008-03-28 14:58:02
Message-ID: 877ifmzyit.fsf@oxford.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

"Alvaro Herrera" <alvherre(at)commandprompt(dot)com> writes:

> The other question is about CommitTransactionCommand. Currently my
> EOXact routine barfs for every snapshot not unregistered on main
> transaction commit -- a leak. I see this as a good thing, however it
> forced me to be more meticulous about not having ActiveSnapshot be set
> in commands that have multiple transactions like VACUUM, multitable
> CLUSTER and CREATE INDEX CONCURRENTLY.

I believe ActiveSnapshot has to be set during CREATE INDEX CONCURRENTLY if
it's an expression index which calls a function which needs a snapshot...

AFAICT VACUUM had better not ever need a snapshot because its xmin isn't
included in other vacuum commands' globalxmin so there's no guarantee that if
it had a snapshot that the tuples visible in that snapshot wouldn't disappear
out from under it.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's 24x7 Postgres support!

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Heikki Linnakangas 2008-03-28 15:01:33 Re: [PATCHES] Incomplete docs for restore_command for hotstandby
Previous Message Alvaro Herrera 2008-03-28 14:06:06 [WIP] Keeping track of snapshots