Re: [ODBC] getting rid of SnapshotNow - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [ODBC] getting rid of SnapshotNow
Date
Msg-id 25211.1374250283@sss.pgh.pa.us
Whole thread Raw
In response to Re: getting rid of SnapshotNow  (Andres Freund <andres@2ndquadrant.com>)
Responses Re: [ODBC] getting rid of SnapshotNow
List pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
> On 2013-07-20 00:49:11 +0900, Hiroshi Inoue wrote:
>> Using SnapshotSelf instead of SnapshotNow for currtid_ () wouldn't
>> matter.

> I think it actually might. You could get into dicey situations if you
> use currtid_ in a query performing updates or inserts because it would
> see the to-be-inserted tuple...

I'm pretty sure Hiroshi-san was only opining about whether it would
matter for ODBC's usage.  IIUC, ODBC is using this function to re-fetch
rows that it inserted, updated, or at least selected-for-update in a
previous command of the current transaction, so actually any snapshot
would do fine.

In any case, since I moved the goalposts by suggesting that SnapshotSelf
is just as dangerous as SnapshotNow, what we need to know is whether
it'd be all right to change this code to use a fresh MVCC snapshot;
and if not, why not.  It's pretty hard to see a reason why client-side
code would want to make use of the results of a non-MVCC snapshot.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Stephen Frost
Date:
Subject: LOCK TABLE Permissions
Next
From: Josh Berkus
Date:
Subject: Re: Using ini file to setup replication