Re: set-level update fails with unique constraint violation - Mailing list pgsql-general

From Dean Rasheed
Subject Re: set-level update fails with unique constraint violation
Date
Msg-id 8e2dbb701001060647l40bb37acpcbe52dcfd2aafaf5@mail.gmail.com
Whole thread Raw
In response to Re: set-level update fails with unique constraint violation  (Roman Neuhauser <neuhauser+pgsql-general#postgresql.org@sigpipe.cz>)
List pgsql-general
2010/1/5 Roman Neuhauser <neuhauser+pgsql-general#postgresql.org@sigpipe.cz>:
> # Jayadevan.Maymala@ibsplc.com / 2010-01-04 10:03:29 +0530:
>> This seems to work..
>> UPDATE x  set i=i+1
>> from  (select i as m from x order by m desc) y   where x.i = y.m
>> Jayadevan
>
> Thanks, that nicely achieves the illusion of atomic immediate checking.
>
> --
> Roman Neuhauser

That is not guaranteed to work. Depending on how the optimiser does
the join, the reverse ordering may not be preserved in the update. Try
it for larger tables (for me it fails at 100000 rows).

Regards,
Dean

pgsql-general by date:

Previous
From: "Daniel Verite"
Date:
Subject: Re: set-level update fails with unique constraint violation
Next
From: "John T. Dow"
Date:
Subject: Optimistic locking with multiple rows