Re: SQL design pattern for a delta trigger?
Colin Wetherbee <cww@denterprises.org>
From: Colin Wetherbee <cww@denterprises.org>
To: pgsql-general@postgresql.org
Date: 2007-12-11T05:04:36Z
Lists: pgsql-general
Vivek Khera wrote: > 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. I guess when I wrote that the algorithm would have to be implemented in an atomic manner, it fell on deaf ears. That said, perhaps implementing a good MERGE would be not such a bad idea for PostgreSQL 8.4. Colin