Re: Update with subselect sometimes returns wrong result
От | Tom Lane |
---|---|
Тема | Re: Update with subselect sometimes returns wrong result |
Дата | |
Msg-id | 25601.1385834264@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Update with subselect sometimes returns wrong result (Oliver Seemann <oseemann@gmail.com>) |
Ответы |
Re: Update with subselect sometimes returns wrong result
Re: Update with subselect sometimes returns wrong result |
Список | pgsql-bugs |
Oliver Seemann <oseemann@gmail.com> writes: > Given the following table: > CREATE TABLE t1 (id INTEGER); > INSERT INTO t1 VALUES (0), (1); > Then the following UPDATE should return exactly one row: > UPDATE t1 SET id = t1.id > FROM (SELECT id FROM t1 LIMIT 1 FOR UPDATE) AS subset > WHERE t1.id = subset.id > RETURNING t1.id > And it does so, most of of the time. But when run repeatedly in a loop like > in the attached script, then it will occasionally return 2 rows with two > different id values, something the LIMIT 1 should prevent. In my tests it > took from anywhere between 0 to 10 minutes and on average 1 to 2 minutes to > trigger the problem. I failed to reproduce the claimed misbehavior in git tip of any active branch. I'd like to think this means we fixed the problem in the last two months, but I don't see anything that looks like a promising candidate in the commit logs. Perhaps there is some important contributing factor you've not mentioned --- nondefault postgresql.conf settings, for instance. regards, tom lane
В списке pgsql-bugs по дате отправления: