Andres Freund <and...@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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers