Merlin Moncure <mmonc...@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

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

Reply via email to