Re: SQL design pattern for a delta trigger? - Mailing list pgsql-general

From Colin Wetherbee
Subject Re: SQL design pattern for a delta trigger?
Date
Msg-id 475DB7EF.2020601@denterprises.org
Whole thread Raw
In response to Re: SQL design pattern for a delta trigger?  (Vivek Khera <vivek@khera.org>)
Responses Re: SQL design pattern for a delta trigger?
List pgsql-general
Vivek Khera wrote:
> On Dec 7, 2007, at 11:42 AM, Colin Wetherbee wrote:
>
>> You can do this with a conditional.  Something like the following
>> should work.
>>
>> IF
>>  NOT (a query matching your data returns rows)
>> THEN
>>  INSERT (your new data)
>
> There exists a race condition here unless you've locked your tables.

Yes, clearly.  In the context of the thread, I was assuming my algorithm
would be implemented as an atomic transaction.

For what it's worth, the real algorithm would be as follows.  I hadn't
had enough coffee yet, and I forgot the UPDATE bit.

IF
   (a query matching your old data returns rows)
THEN
   UPDATE with your new data
ELSE
   INSERT your new data

Colin

pgsql-general by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: slony question
Next
From: Vivek Khera
Date:
Subject: Re: Script to reset all sequence values in the a given DB?