Re: SELECT FOR UPDATE and LIMIT 1 behave oddly - Mailing list pgsql-bugs

From Neil Conway
Subject Re: SELECT FOR UPDATE and LIMIT 1 behave oddly
Date
Msg-id 1097806485.29932.104.camel@localhost.localdomain
Whole thread Raw
In response to Re: SELECT FOR UPDATE and LIMIT 1 behave oddly  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: SELECT FOR UPDATE and LIMIT 1 behave oddly  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Thu, 2004-10-14 at 14:02, Tom Lane wrote:
> The FOR UPDATE part executes after the LIMIT part.  Arguably this is a
> bad thing, but I'm concerned about the compatibility issues if we change
> it.

I agree backward compat is a concern, but it seems pretty clear to me
that this is not the optimal behavior. If there are any people who
actually need the old behavior, they can nest the FOR UPDATE in a
FROM-clause subselect:

SELECT * FROM foo FOR UPDATE LIMIT 5; -- used to lock the whole table

SELECT * FROM (SELECT * FROM foo FOR UPDATE) x LIMIT 5; -- will always
do so

Would it be sufficient to put a large warning in the "incompatibilities"
section of the release notes?

-Neil

pgsql-bugs by date:

Previous
From: Neil Conway
Date:
Subject: Re: 'configure' bug on Mac OS X 10.3.5
Next
From: Alvaro Herrera
Date:
Subject: Re: 'configure' bug on Mac OS X 10.3.5