| From: | nmgjinan(at)126(dot)com | 
|---|---|
| To: | pgsql-bugs(at)postgresql(dot)org | 
| Subject: | BUG #13675: Problem statement “INSERT ON CONFLICT WHERE" | 
| Date: | 2015-10-13 01:42:09 | 
| Message-ID: | 20151013014209.2784.48073@wrigleys.postgresql.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-bugs | 
The following bug has been logged on the website:
Bug reference:      13675
Logged by:          nmgjinan
Email address:      nmgjinan(at)126(dot)com
PostgreSQL version: 9.5beta1
Operating system:   CentOS release 5.6  32bit
Description:        
Hi,I'm testing pg9.5 beta1, encounter a problem, detailed description:
postgres=# create table distributors(did int primary key,dname
varchar,is_active boolean);
CREATE TABLE
postgres=# insert into distributors values(1,'hyl',false),(2,'aaa',true);
INSERT 0 2
postgres=# select * from distributors ;
 did | dname | is_active 
-----+-------+-----------
   1 | hyl   | f
   2 | aaa   | t
(2 rows)
 
postgres=# insert into distributors values (2,'bbb')
postgres-# on conflict (did) where is_active do update set
dname=EXCLUDED.dname;
INSERT 0 1
postgres=# select * from distributors ;
 did | dname | is_active 
-----+-------+-----------
   1 | hyl   | f
   2 | bbb   | t
(2 rows)
 
postgres=# insert into distributors values (1,'hgdb') 
postgres-# on conflict (did) where is_active do update set
dname=EXCLUDED.dname;
INSERT 0 1
postgres=# select * from distributors ;
 did | dname | is_active 
-----+-------+-----------
   2 | bbb   | t
   1 | hgdb  | f
(2 rows)
 
postgres=# 
Why, when the where condition is true or false, the fields are change?
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2015-10-13 01:47:29 | Re: BUG #13675: Problem statement “INSERT ON CONFLICT WHERE" | 
| Previous Message | Tom Lane | 2015-10-13 00:07:37 | Re: Re: [BUGS] BUG #13611: test_postmaster_connection failed (Windows, listen_addresses = '0.0.0.0' or '::') |