Re: BUG #17845: insert into on conflict bug .

From: jian he <jian(dot)universality(at)gmail(dot)com>
To: digoal(at)126(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #17845: insert into on conflict bug .
Date: 2023-03-16 14:28:27
Message-ID: CACJufxGDczsEW0-3D8ba1NeACOD7rP9eVXBBkjHiupFq4u0StQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Thu, Mar 16, 2023 at 5:42 PM PG Bug reporting form <
noreply(at)postgresql(dot)org> wrote:

> The following bug has been logged on the website:
>
> Bug reference: 17845
> Logged by: Zhou Digoal
> Email address: digoal(at)126(dot)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
> ```
>
>
it's expected behavior.
See the test expected result in
src/test/regress/expected/insert_conflict.out, begin with line 694.

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2023-03-16 15:10:57 Re: BUG #17846: pg_dump doesn't properly dump with paused WAL replay
Previous Message Tom Lane 2023-03-16 13:10:26 Re: BUG #17845: insert into on conflict bug .