public inbox for [email protected]  
help / color / mirror / Atom feed
From: Bruce Momjian <[email protected]>
To: Florence Cousin <[email protected]>
Cc: [email protected]
Subject: Re: For update clause
Date: Tue, 15 Jun 2010 16:04:06 -0400 (EDT)
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>

Florence Cousin wrote:
> Hi,
> 
> I am one of the french translators of the documentation. I am translating the  
> reference page of SELECT, but I fail to understand this sentence about the FOR 
> UPDATE clause (  http://www.postgresql.org/docs/9.0/static/sql-
> select.html#SQL-FOR-UPDATE-SHARE   )
> 
> ---------------
> In addition, rows that satisfied the query conditions as of the query snapshot 
> will be locked, although they will not be returned if they have since been 
> updated to not satisfy the query conditions.
> ------------------
> 
> Could anyone please explain it to me, so that I can translate it properly? A 
> word for word translation has really no meaning.

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.

-- 
  Bruce Momjian  <[email protected]>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + None of us is going to be here forever. +



view thread (4+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected]
  Subject: Re: For update clause
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox