Re: Proposal: Snapshot cloning

From: Gregory Stark <stark(at)enterprisedb(dot)com>
To: "Jan Wieck" <JanWieck(at)Yahoo(dot)com>
Cc: "PostgreSQL Development" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Proposal: Snapshot cloning
Date: 2007-01-26 13:06:52
Message-ID: 874pqeaqdv.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"Jan Wieck" <JanWieck(at)Yahoo(dot)com> writes:

> backend1: select publish_snapshot(); -- will block
>
> backend2: start transaction;
> backend2: set transaction isolation level serializable;
> backend2: select clone_snapshot(<pid>); -- will unblock backend1

It seems simpler to have a current_snapshot() function that returns an bytea
or a new snapshot data type which set_current_snapshot(bytea) took to change
your snapshot. Then you could use tables or out-of-band communication to pass
around your snapshots however you please.

set_current_snapshot() would have to sanity check that the xmin of the new
snapshot isn't older than the current globaloldestxmin.

That could be handy for debugging purposes too.

--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Theo Schlossnagle 2007-01-26 13:11:23 Re: Proposal: Commit timestamp
Previous Message Simon Riggs 2007-01-26 12:25:47 Re: Proposal: Snapshot cloning