Re: most idiomatic way to "update or insert"? - Mailing list pgsql-general

From Peter Darley
Subject Re: most idiomatic way to "update or insert"?
Date
Msg-id PDEOIIFFBIAABMGNJAGPCEGODKAA.pdarley@kinesis-cem.com
Whole thread Raw
In response to Re: most idiomatic way to "update or insert"?  (Mike Mascari <mascarm@mascari.com>)
List pgsql-general
Mike,
    Ahha!  I didn't understand what the objection was.  I guess I am getting
lucky. :)
    It seems to me that this is true with any concurrent inserts, isn't it?
One will succeed and one will fail.
Thanks,
Peter Darley

-----Original Message-----
From: Mike Mascari [mailto:mascarm@mascari.com]
Sent: Thursday, August 05, 2004 6:51 AM
To: Peter Darley
Cc: Lincoln Yeoh; Mark Harrison; pgsql-general@postgresql.org
Subject: Re: [GENERAL] most idiomatic way to "update or insert"?


Peter Darley wrote:
> Lincoln, It works for me... I think what you said is wrong
> because it updates first (if there is a row to update), then
> inserts.  If there is a row to update the insert won't insert
> anything.  If there is no row to update the insert inserts a row.
>  Either way, the insert is the last thing in the transaction.
> Plus, as shown in the code to follow, I have almost this exact
> thing in my application and I know that it does work for me. :)

You're getting lucky. I suggested the same thing four years ago. The
race condition is still there:

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=2344.978158285%40sss
.pgh.pa.us

HTH,

Mike Mascari



pgsql-general by date:

Previous
From: Csaba Nagy
Date:
Subject: Re: most idiomatic way to "update or insert"?
Next
From: marcelo Cortez
Date:
Subject: Non-superuser connection limit exceeded