The following bug has been logged on the website:
Bug reference: 10429
Logged by: zhanglong
Email address: chuisiniu@hotmail.com
PostgreSQL version: 9.3.4
Operating system: window7 32bit
Description:
E:\postgresql-9.4beta1\db\bin>psql postgres
psql (9.4beta1)
Type "help" for help.
postgres=# drop table t1;
DROP TABLE
postgres=# create table t1(c1 int primary key);
CREATE TABLE
postgres=# insert into t1 values (1);insert into t1 values (2);update t1 set
c1 = c1 +1;
INSERT 0 1
INSERT 0 1
ERROR: duplicate key value violates unique constraint "t1_pkey"
DETAIL: Key (c1)=(2) already exists.
postgres=# select * from t1;
c1
----
1
2
(2 rows)
postgres=#
postgres=# drop table t1;
DROP TABLE
postgres=# create table t1(c1 int primary key);
CREATE TABLE
postgres=# insert into t1 values (2);insert into t1 values (1);update t1 set
c1 = c1 +1;
INSERT 0 1
INSERT 0 1
UPDATE 2
postgres=# select * from t1;
c1
----
3
2
(2 rows)
The data is all the same except the order I insert it,but the update get
different result.From the source code, it seems that db update the tuple
first found out.