Re: remove upsert example from docs - Mailing list pgsql-hackers

From Kevin Grittner
Subject Re: remove upsert example from docs
Date
Msg-id 4C5AB69D020000250003427B@gw.wicourts.gov
Whole thread Raw
In response to remove upsert example from docs  (Merlin Moncure <mmoncure@gmail.com>)
List pgsql-hackers
Merlin Moncure <mmoncure@gmail.com> wrote:
> Attached is a patch to remove the upsert example from the pl/pgsql
> documentation.  It has a serious bug (see:
> http://www.spinics.net/lists/pgsql/msg112560.html) which is
> nontrivial to fix.  IMNSHO, our code examples should encourage
> good practices and style.
> 
> The 'correct' way to do race free upsert is to take a table lock
> first -- you don't have to loop or open a subtransaction.  A high
> concurrency version is nice but is more of a special case solution
> (it looks like concurrent MERGE might render the issue moot
> anyways).
Of course, this can be done safely without a table lock if either or
both of the concurrency patches (one by Florian, one by Dan and
myself) get committed, so maybe we should wait to see whether either
of them makes it before adjusting the docs on this point -- at least
for 9.1.  Taking a broken example out of 9.0 and back branches might
make sense....
-Kevin


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Two different methods of sneaking non-immutable data into an index
Next
From: Mike Lewis
Date:
Subject: Re: Performance Enhancement/Fix for Array Utility Functions