On 2010-12-30 4:39 AM +0200, Greg Smith wrote:
> And that got me back again to concurrent testing.
>
> Moving onto next two problems...the basic MERGE feature seems to have
> stepped backwards a bit too. I'm now seeing these quite often:
>
> ERROR: duplicate key value violates unique constraint
> "pgbench_accounts_pkey"
> DETAIL: Key (aid)=(176641) already exists.
> STATEMENT: MERGE INTO pgbench_accounts t USING (SELECT 176641,1+(176641
> / 1000000)::integer,168,'') AS s(aid,bid,balance,filler) ON s.aid=t.aid
> WHEN MATCHED THEN UPDATE SET abalance=abalance + s.balance WHEN NOT
> MATCHED THEN INSERT VALUES(s.aid,s.bid,s.balance,s.filler);
>
> On my concurrent pgbench test, which had been working before.
I have no idea why it worked in the past, but the patch was never
designed to work for UPSERT. This has been discussed in the past and
some people thought that that's not a huge deal.
Regards,
Marko Tiikkaja