Re: synchronized snapshots - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: synchronized snapshots
Date
Msg-id 4E48D00E.6090108@enterprisedb.com
Whole thread Raw
In response to Re: synchronized snapshots  (Simon Riggs <simon@2ndQuadrant.com>)
Responses Re: synchronized snapshots
List pgsql-hackers
On 15.08.2011 10:40, Simon Riggs wrote:
> On Mon, Aug 15, 2011 at 2:31 AM, Joachim Wieland<joe@mcknight.de>  wrote:
>
>> In short, this is how it works:
>>
>> SELECT pg_export_snapshot();
>>   pg_export_snapshot
>> --------------------
>>   000003A1-1
>> (1 row)
>>
>>
>> (and then in a different session)
>>
>> BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ (SNAPSHOT = '000003A1-1');
>
> I don't see the need to change the BEGIN command, which is SQL
> Standard. We don't normally do that.
>
> If we have pg_export_snapshot() why not pg_import_snapshot() as well?

It would be nice a symmetry, but you'd need a limitation that 
pg_import_snapshot() must be the first thing you do in the session. And 
it might be hard to enforce that, as once you get control into the 
function, you've already acquired another snapshot in the transaction to 
run the "SELECT pg_import_snapshot()" query with. Specifying the 
snapshot in the BEGIN command makes sense.

--   Heikki Linnakangas  EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: synchronized snapshots
Next
From: Andres Freund
Date:
Subject: Re: synchronized snapshots