Re: synchronized snapshots

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Joachim Wieland <joe@mcknight.de>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-08-15T07:47:45Z
Lists: pgsql-hackers
On 15.08.2011 04:31, Joachim Wieland wrote:
> The one thing that it does not implement is leaving the transaction in
> an aborted state if the BEGIN TRANSACTION command failed for an
> invalid snapshot identifier.

So what if the snapshot is invalid, the SNAPSHOT clause silently 
ignored? That sounds really bad.

> I can certainly see that this would be
> useful but I am not sure if it justifies introducing this
> inconsistency. We would have a BEGIN TRANSACTION command that left the
> session in a different state depending on why it failed...

I don't understand what inconsistency you're talking about. What else 
can cause BEGIN TRANSACTION to fail? Is there currently any failure mode 
that doesn't leave the transaction in aborted state?

> I am wondering if pg_export_snapshot() is still the right name, since
> the snapshot is no longer exported to the user. It is exported to a
> file but that's an implementation detail.

It's still exporting the snapshot to other sessions, that name still 
seems appropriate to me.

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