On Mon, Feb 2, 2009 at 8:46 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> "Robert Walker" <r.walker@mtcworldwide.com> writes:
>> I have a function that basically loops through a query and uses the results
>> from that query to do an individual insert into another table, and if there
>> is a unique violation, it simply raises a notice and continues on. When
>> trying to debug the function within PgAdminIII 1.8.4, when stepping through
>> to the point of the RAISE NOTICE statement, it displays the following and
>> then Windows informs me that postgres.exe has crashed:
>
> I suppose this is a bug in the plpgsql debugger; which you'll need to
> report to EDB. The core postgres project does not maintain that code.
We've tracked this issue down to what appears to be a pl/pgsql bug -
after setting state_var->value and errm_var->value to null,
state_var->isnull and errm_var->isnull are not set correspondingly.
This has been fixed in HEAD already - the attached patch is for 8.3.6
(and should probably be back-patched to at least 8.2).
Credit goes to Ashesh Vashi for tracking this down.
--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com