Re: remove upsert example from docs

Andrew Dunstan <andrew@dunslane.net>

From: Andrew Dunstan <andrew@dunslane.net>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Merlin Moncure <mmoncure@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2010-08-05T18:24:40Z
Lists: pgsql-hackers

On 08/05/2010 02:09 PM, Tom Lane wrote:
> Merlin Moncure<mmoncure@gmail.com>  writes:
>> 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.
> I was not persuaded that there's a real bug in practice.  IMO, his
> problem was a broken trigger not broken upsert logic.  Even if we
> conclude this is unsafe, simply removing the example is of no help to
> anyone.  A more useful response would be to supply a correct example.
>
> 			

Yeah, that's how it struck me just now. Maybe we should document that 
the inserts had better not fire a trigger that could cause an uncaught 
uniqueness violation exception. You could also possibly usefully prevent 
infinite looping in such cases by using a limited loop rather an 
unlimited loop.

cheers

andrew