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