Re: synchronized snapshots

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Joachim Wieland <joe@mcknight.de>, Marko Tiikkaja <marko.tiikkaja@2ndquadrant.com>, Kevin Grittner <Kevin.Grittner@wicourts.gov>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-10-19T16:20:17Z
Lists: pgsql-hackers
On 19.10.2011 19:17, Tom Lane wrote:
> Joachim Wieland<joe@mcknight.de>  writes:
>> [ synchronized-snapshots patch ]
>
> Looking through this code, it strikes me that SET TRANSACTION SNAPSHOT
> is fundamentally incompatible with SERIALIZABLE READ ONLY DEFERRABLE
> mode.  That mode assumes that you should be able to just take a new
> snapshot, repeatedly, until you get one that's "safe".  With the patch
> as written, if the supplied snapshot is "unsafe", GetSafeSnapshot()
> will just go into an infinite loop.
>
> AFAICS we should just throw an error if SET TRANSACTION SNAPSHOT is done
> in a transaction with those properties.  Has anyone got another
> interpretation?  Would it be better to silently ignore the DEFERRABLE
> property?

An error seems appropriate to me.

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