Re: Re: Why is unique constraint needed for upsert? (treat atomicity as optional) - Mailing list pgsql-general

From John R Pierce
Subject Re: Re: Why is unique constraint needed for upsert? (treat atomicity as optional)
Date
Msg-id 53D03B16.9020503@hogranch.com
Whole thread Raw
In response to Re: Re: Why is unique constraint needed for upsert? (treat atomicity as optional)  (Seamus Abshere <seamus@abshere.net>)
Responses Re: Re: Why is unique constraint needed for upsert? (treat atomicity as optional)  (Seamus Abshere <seamus@abshere.net>)
List pgsql-general
On 7/23/2014 3:29 PM, Seamus Abshere wrote:
> My argument lives and dies on the assumption that UPSERT would be
> useful even if it was (when given with no options) just a macro for
>
>>   UPDATE db SET b = data WHERE a = key;
>>   IF NOT found THEN
>>     INSERT INTO db(a,b) VALUES (key, data);
>>   END IF;

but that won't work if two connections execute similar 'upserts'
concurrently.    both updates will see the record isn't there, then one
or the other insert will fail, depending on which transaction commits first.



--
john r pierce                                      37N 122W
somewhere on the middle of the left coast



pgsql-general by date:

Previous
From: Seamus Abshere
Date:
Subject: Re: Re: Why is unique constraint needed for upsert? (treat atomicity as optional)
Next
From: David G Johnston
Date:
Subject: Re: Why is unique constraint needed for upsert? (treat atomicity as optional)