BUG #13073: Uniqueness constraint incorrectly reports constraint violations

Поиск
Список
Период
Сортировка
От dportas@acm.org
Тема BUG #13073: Uniqueness constraint incorrectly reports constraint violations
Дата
Msg-id 20150416200334.5200.85645@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #13073: Uniqueness constraint incorrectly reports constraint violations  (Guillaume Lelarge <guillaume@lelarge.info>)
Re: BUG #13073: Uniqueness constraint incorrectly reports constraint violations  ("David G. Johnston" <david.g.johnston@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      13073
Logged by:          David Portas
Email address:      dportas@acm.org
PostgreSQL version: 9.1.13
Operating system:   Debian Linux
Description:

Repro script:
CREATE TABLE tbl1 (x INT NOT NULL PRIMARY KEY);
INSERT INTO tbl1 VALUES (1),(2);
UPDATE tbl1 SET x = x +1;

Result:

ERROR:  duplicate key value violates unique constraint "tbl1_pkey"
DETAIL:  Key (x)=(2) already exists.

Expected result: UPDATE should succeed because the constraint is not
violated. The constraint should be evaluated against the complete resulting
table as per documentation: "unique with respect to all the rows in the
table"[1].

The expected result can be seen if the insertion order of the INSERTs is
reversed:
CREATE TABLE tbl1 (x INT NOT NULL PRIMARY KEY);
INSERT INTO tbl1 VALUES (2),(1);
UPDATE tbl1 SET x = x +1;

Result: UPDATE succeeds. This is expected but is inconsistent with the
previous result even though the two UPDATEs are logically equivalent.

The same effect is seen if UNIQUE is specified instead of PRIMARY KEY.

[1]http://www.postgresql.org/docs/9.1/static/ddl-constraints.html

В списке pgsql-bugs по дате отправления:

Предыдущее
От: rogerwinter@gmail.com
Дата:
Сообщение: BUG #13066: Package postgresql92-odbc has problems
Следующее
От: Guillaume Lelarge
Дата:
Сообщение: Re: BUG #13073: Uniqueness constraint incorrectly reports constraint violations