Skip site navigation (1) Skip section navigation (2)

Re: For update clause

From: Florence Cousin <cousinflo(at)free(dot)fr>
To: pgsql-docs(at)postgresql(dot)org
Subject: Re: For update clause
Date: 2010-06-16 07:58:15
Message-ID: 201006160958.16216.cousinflo@free.fr (view raw or flat)
Thread:
Lists: pgsql-docs
Le mardi 15 juin 2010 22:04:06, Bruce Momjian a écrit :
> 
> Wow, that is a confusing double-negative sentence.  I have updated the
> text to be:
> 
>     In addition, rows that satisfied the query conditions as of the
>     query snapshot will be locked, although they will not be returned
>     if they were updated after the snapshot and no longer satisfy the
>     query conditions.
> 
> What it is saying is that SELECT FOR UPDATE will lock all rows that
> match the SELECT query using the current snapshot, but the returned rows
> might be different because the rows were changed after the snapshot was
> taken, and a SELECT FOR UPDATE will return the rows as UPDATE will see
> them, which might not match the SELECT snapshot.  Yeah, it is confusing.

Thank you for the patch and the explanation. It is clear for me now (the rows 
returned are those that would be returned by an UPDATE, that is pretty 
logical).

But I think most of the users will still not understand this, because they do 
not know what a snapshot is, and do not really know how locking works. 

And I managed to understand thank to the explanation, but I think I could not 
understand with the new version of the explanation alone (the fact that rows 
returned are the rows as UPDATE will see them)

Maybe it would be clearer with a longer explanation, or a link to an 
explanation?

In response to

Responses

pgsql-docs by date

Next:From: Bruce MomjianDate: 2010-06-16 14:16:25
Subject: Re: For update clause
Previous:From: Bruce MomjianDate: 2010-06-15 20:04:06
Subject: Re: For update clause

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group