Re: How to handle error message in PG_CATCH - Mailing list pgsql-hackers

From Zdenek Kotala
Subject Re: How to handle error message in PG_CATCH
Date
Msg-id 47CD7EDC.1070309@sun.com
Whole thread Raw
In response to Re: How to handle error message in PG_CATCH  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: How to handle error message in PG_CATCH  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Alvaro Herrera napsal(a):
> Zdenek Kotala wrote:
> 
>> PG_TRY();
>> {
>>     ...
>>     ereport(ERROR, (errmsg("Error test")));
>>     ...
>> }
>> PG_CATCH();
>> {
>>     errcontext("Context error");
>>         EmitErrorReport();
>>         FlushErrorState();
>> }
>> PG_END_TRY();
>>
>> At the end I got following message:
>>
>> ERROR:  Error test
>> CONTEXT:  Context error
>> server sent data ("D" message) without prior row description ("T" message)
> 
> I don't see anything wrong with this code.  Perhaps the problem is
> somewhere else?
> 


There is whole test code. It is store procedure and there are nothing 
special.  The difference between this and autovacuum is that autovacuum 
works without client side.

Datum
pg_check(PG_FUNCTION_ARGS)
{PG_TRY();{            ereport(ERROR, (errmsg("Error test")));        }        PG_CATCH();        {
errcontext("Contexterror");            EmitErrorReport();            FlushErrorState();        }
PG_END_TRY();PG_RETURN_DATUM(0);
}

    Zdenek


pgsql-hackers by date:

Previous
From: Jan Urbański
Date:
Subject: Re: Google Summer of Code 2008
Next
From: "Dave Page"
Date:
Subject: Re: Google Summer of Code 2008