Re: getting rid of SnapshotNow - Mailing list pgsql-hackers

From Tom Lane
Subject Re: getting rid of SnapshotNow
Date
Msg-id 5525.1374211661@sss.pgh.pa.us
Whole thread Raw
In response to Re: getting rid of SnapshotNow  (Noah Misch <noah@leadboat.com>)
Responses Re: getting rid of SnapshotNow  (Robert Haas <robertmhaas@gmail.com>)
Re: getting rid of SnapshotNow  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
Noah Misch <noah@leadboat.com> writes:
> To me, the major advantage of removing SnapshotNow is to force all
> third-party code to reevaluate.  But that could be just as well
> achieved by renaming it to, say, SnapshotImmediate.  If there are
> borderline-legitimate SnapshotNow uses in our code base, I'd lean
> toward a rename instead.  Even if we decide to remove every core use,
> third-party code might legitimately reach a different conclusion on
> similar borderline cases.

Meh.  If there is third-party code with a legitimate need for
SnapshotNow, all we'll have done is to create an annoying version
dependency for them.  So if we think that's actually a likely scenario,
we shouldn't rename it.  But the entire point of this change IMO is that
we *don't* think there is a legitimate use-case for SnapshotNow.

Indeed, I'm thinking I don't believe in SnapshotSelf anymore either.
It's got all the same consistency issues as SnapshotNow.  In fact, it
has *more* issues, because it's also vulnerable to weirdnesses caused by
inconsistent ordering of tuple updates among multiple tuples updated by
the same command.

Why not tell people to use SnapshotDirty if they need a
not-guaranteed-consistent result?  At least then it's pretty obvious
that you're getting some randomness in with your news.

            regards, tom lane


pgsql-hackers by date:

Previous
From: Hari Babu
Date:
Subject: Re: Performance Improvement by reducing WAL for Update Operation
Next
From: Alvaro Herrera
Date:
Subject: Re: [RFC] Minmax indexes