Обсуждение: BUG #14328: SELECT FOR UPDATE doesn't return existing row

Поиск
Список
Период
Сортировка

BUG #14328: SELECT FOR UPDATE doesn't return existing row

От
imyfess@gmail.com
Дата:
VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJz
aXRlOgoKQnVnIHJlZmVyZW5jZTogICAgICAxNDMyOApMb2dnZWQgYnk6ICAg
ICAgICAgIERpbWEgUGF2bG92CkVtYWlsIGFkZHJlc3M6ICAgICAgaW15ZmVz
c0BnbWFpbC5jb20KUG9zdGdyZVNRTCB2ZXJzaW9uOiA5LjQuNApPcGVyYXRp
bmcgc3lzdGVtOiAgIFdpbmRvd3MgMTAKRGVzY3JpcHRpb246ICAgICAgICAK
ClNFTEVDVCBGT1IgVVBEQVRFIHJldHVybnMgMCByb3dzIGluIHNjZW5hcmlv
IGJlbG93LiBCdXQgaWYgSSBqdXN0IGV4ZWN1dGUKc3FsIHF1ZXJ5IGZyb20g
c2Vjb25kIHRyYW5zYWN0aW9uIGl0IGFsd2F5cyByZXR1cm5zIDEgcm93Lg0K
DQpFTlZJUk9OTUVOVDoNCi0tLS0tLS0tLS0tLS0NCkNSRUFURSBUQUJMRSB0
MSAoX3BrIHNlcmlhbCwgdDFjMSBpbnRlZ2VyLCB0MWMyIGludGVnZXIsIHQx
YzMgdGV4dCk7DQpDUkVBVEUgVEFCTEUgdDIgKF9wayBzZXJpYWwsIHQyYzEg
dGV4dCwgdDJjMiBpbnRlZ2VyKTsNCmluc2VydCBpbnRvIHQxICh0MWMxLCB0
MWMyLCB0MWMzKSB2YWx1ZXMoMTIzNDU2Nzg5LCAxMDAsCidzdHJpbmdfdmFs
dWVfMScpOw0KaW5zZXJ0IGludG8gdDIgKHQyYzEsIHQyYzIpIHZhbHVlcygn
c3RyaW5nX3ZhbHVlXzInLCAxMDApOw0KDQpUUkFOU0FDVElPTiAxOg0KLS0t
LS0tLS0tLS0tLS0NCkJFR0lOOw0KLS0gVGhpcyBxdWVyeSB1cGRhdGVzIHQx
YzEgdG8gaXRzIGN1cnJlbnQgdmFsdWUsIGl0IGRvZXNuJ3QgY2hhbmdlCmFu
eXRoaW5nDQpVUERBVEUgdDEgU0VUIHQxYzMgPSAnc3RyaW5nX3ZhbHVlXzEn
IFdIRVJFIHQxYzEgPSAxMjM0NTY3ODk7DQoNCi0tIFF1ZXJ5IHJldHVybmVk
IHN1Y2Nlc3NmdWxseTogb25lIHJvdyBhZmZlY3RlZCwgNTEgbXNlYyBleGVj
dXRpb24gdGltZS4NCg0KDQpUUkFOU0FDVElPTiAyOg0KLS0tLS0tLS0tLS0t
LS0NCldJVEggDQogICAgY3RlMSBBUyAoDQogICAgICAgIFNFTEVDVCB0MmMy
IEZST00gdDIgV0hFUkUgdDJjMSA9ICdzdHJpbmdfdmFsdWVfMicNCiAgICAp
LA0KDQogICAgY3RlMiBBUyAoDQogICAgICAgIFNFTEVDVCAqIEZST00gdDEN
CiAgICAgICAgV0hFUkUgDQogICAgICAgICAgICAgdDFjMSA9IDEyMzQ1Njc4
OSANCiAgICAgICAgICAgIEFORCB0MWMyID0gKFNFTEVDVCB0MmMyIEZST00g
Y3RlMSkNCiAgICAgICAgRk9SIFVQREFURQ0KICAgICkgDQoNClNFTEVDVCAq
IEZST00gY3RlMg0KDQotLSBXYWl0aW5nDQoNCg0KVFJBTlNBQ1RJT04gMToN
Ci0tLS0tLS0tLS0tLS0tDQpDT01NSVQ7DQoNCi0tIFF1ZXJ5IHJldHVybmVk
IHN1Y2Nlc3NmdWxseSB3aXRoIG5vIHJlc3VsdCBpbiA0MSBtc2VjLg0KDQoN
ClRSQU5TQUNUSU9OIDI6DQotLS0tLS0tLS0tLS0tLQ0KLS0gUmV0dXJuZWQg
MCByb3dzDQoNCgoK

Re: BUG #14328: SELECT FOR UPDATE doesn't return existing row

От
Andomar
Дата:
I can reproduce this on 9.4 on Debian Linux.

This relates to a question on Stack Overflow: http://stackoverflow.com/q/395=
50510/50552

The row seems to be dropped from the result set after the query waits on the=
 lock.

Cheers,
Andomar

> On 19 Sep 2016, at 18:01, imyfess@gmail.com wrote:
>=20
> 14328

Re: BUG #14328: SELECT FOR UPDATE doesn't return existing row

От
Tom Lane
Дата:
imyfess@gmail.com writes:
> SELECT FOR UPDATE returns 0 rows in scenario below. But if I just execute
> sql query from second transaction it always returns 1 row.

I've pushed a patch for this.  Thanks for the report!

            regards, tom lane