Re: SQL design pattern for a delta trigger?

Vivek Khera <khera@kcilink.com>

From: Vivek Khera <khera@kcilink.com>
To: Colin Wetherbee <cww@denterprises.org>
Cc: pgsql-general@postgresql.org
Date: 2007-12-10T22:27:14Z
Lists: pgsql-general
On Dec 10, 2007, at 5:04 PM, Colin Wetherbee wrote:

> 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

Still exists race condition.  Your race comes from testing existence,  
then creating/modifying data afterwards.  You need to make the test/ 
set atomic else you have race.