BUG #17845: insert into on conflict bug .

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #17845: insert into on conflict bug .
Дата
Msg-id 17845-fee889ae7e226a76@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #17845: insert into on conflict bug .  ("David G. Johnston" <david.g.johnston@gmail.com>)
Re: BUG #17845: insert into on conflict bug .  (jian he <jian.universality@gmail.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17845
Logged by:          Zhou Digoal
Email address:      digoal@126.com
PostgreSQL version: 15.2
Operating system:   macos
Description:

insert into on conflict bug .
In the following insert statement, the row has not been updated multiple
times, why is it still showing an error?

```
create table a (id int primary key, info text, ts date);


insert into a 
select * from (values (1,'a',date '2022-01-01'),(1,'b',date
'2022-01-02'),(1,'c',date '2022-01-03')) as t (id,info,ts) order by ts
desc
on conflict (id) 
do update set info=excluded.info, ts=excluded.ts where a.ts < excluded.ts ;



                                QUERY PLAN                                
--------------------------------------------------------------------------
 Insert on a  (cost=0.06..0.10 rows=0 width=0)
   Conflict Resolution: UPDATE
   Conflict Arbiter Indexes: a_pkey
   Conflict Filter: (a.ts < excluded.ts)
   ->  Sort  (cost=0.06..0.07 rows=3 width=40)
         Sort Key: "*VALUES*".column3 DESC
         ->  Values Scan on "*VALUES*"  (cost=0.00..0.04 rows=3 width=40)
(7 rows)


ERROR:  21000: ON CONFLICT DO UPDATE command cannot affect row a second
time
HINT:  Ensure that no rows proposed for insertion within the same command
have duplicate constrained values.
LOCATION:  ExecOnConflictUpdate, nodeModifyTable.c:2054
```


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

Предыдущее
От: Sébastien
Дата:
Сообщение: Re: BUG #17840: Failing to execute auto_explain for logging leads to transaction rollback.
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #17846: pg_dump doesn't properly dump with paused WAL replay