Re: isn't "insert into where not exists" atomic? - Mailing list pgsql-general

From Mage
Subject Re: isn't "insert into where not exists" atomic?
Date
Msg-id 4D4B3F5A.5090703@mage.hu
Whole thread Raw
In response to Re: isn't "insert into where not exists" atomic?  (pasman pasmański <pasman.p@gmail.com>)
Responses Re: isn't "insert into where not exists" atomic?  (pasman pasmański <pasman.p@gmail.com>)
List pgsql-general
On 02/03/2011 10:35 PM, pasman pasmański wrote:
> Your trigger is wrong. You try to insert the same row twice.
>
I assume you didn't try it. If active_at field is null then the trigger
does another insert instead of the original one. This avoids looping or
inserting twice.

The only mistake is that I tought the insert with select will be atomic
and I was wrong. So the trigger has concurrency problem in
multi-threaded environment. It runs flawlessly in single thread and it
does only a single insert.

         Mage


pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: how to avoid repeating expensive computation in select
Next
From: Mage
Date:
Subject: Re: isn't "insert into where not exists" atomic?