SELECT FOR UPDATE....LIMIT ...broken - Mailing list pgsql-general

From Darren Govoni
Subject SELECT FOR UPDATE....LIMIT ...broken
Date
Msg-id 1231693200.1239.65.camel@nuraku
Whole thread Raw
Responses Re: SELECT FOR UPDATE....LIMIT ...broken  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi,
 I have a simple scenario that is producing incorrect results with
8.3,ubuntu.

I have queries attempting the same "select-for update limit 1". at the
same time. There are 2 rows in my test database.

The first will enter the transaction and only update ONE of the rows it
selected, because it uses "LIMIT 1" in the select for update.only 1 row
is returned.

The second naturally will block when entering the query until the first
commits its update. But when the second unblocks, it sees 0 rows, even
though there is 1 row left that satisfies its query.

If I re-run the second query, it finds the 1 row left. But not when
released from the UPDATE block.

This seems like a bug to me. Is it fixed in the current dev build? Or is
there something else I'm missing?

Darren


pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: Question about updates and MVCC
Next
From: Tom Lane
Date:
Subject: Re: SELECT FOR UPDATE....LIMIT ...broken