Re: determine snapshot after obtaining locks for first statement

From: "Kevin Grittner" <Kevin(dot)Grittner(at)wicourts(dot)gov>
To: "Robert Haas" <robertmhaas(at)gmail(dot)com>
Cc: "Markus Wanner" <markus(at)bluegap(dot)ch>, <pgsql-hackers(at)postgresql(dot)org>,"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: determine snapshot after obtaining locks for first statement
Date: 2009-12-17 18:12:02
Message-ID: 4B2A2012020000250002D711@gw.wicourts.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> I don't think that's any clearer, though it is more disparaging.
> :-)

It's certainly not my goal to knock PostgreSQL. The precise
conditions in which an UPDATE or DELETE can view an inconsistent
database state (and therefore potentially persist something based on
that inconsistent state) are that it has a FROM clause and/or
subqueries which reference data changed by a concurrent database
transaction which also affects rows which are targets of the UPDATE
or DELETE. Precise descriptions of problem circumstances seem more
useful to developers than vague statements like "it's usually good
enough, except when it isn't."

If an accurate description of the behavior is considered
disparaging, perhaps it's the behavior which should change, not just
the description of it. Since I never use READ COMMITTED for
updates, I'm not going to weigh in on whether this is a big enough
problem to merit the effort and overhead of a different
implementation; I'm just suggesting we should put the information
out there more explicitly. My wording was still a little on the
vague side, in an attempt to keep it short; perhaps that was a
mistake.

-Kevin

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-12-17 18:13:05 Re: determine snapshot after obtaining locks for first statement
Previous Message Robert Haas 2009-12-17 18:07:55 Re: determine snapshot after obtaining locks for first statement