On 7/23/2014 3:29 PM, Seamus Abshere wrote:
My argument lives and dies on the assumption that UPSERT would be useful even if it was (when given with no options) just a macro for

  UPDATE db SET b = data WHERE a = key;
  IF NOT found THEN
    INSERT INTO db(a,b) VALUES (key, data);
END IF;

but that won't work if two connections execute similar 'upserts' concurrently. both updates will see the record isn't there, then one or the other insert will fail, depending on which transaction commits first.



--
john r pierce                                      37N 122W
somewhere on the middle of the left coast



--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to