Bruce Momjian wrote:
> Patch applied.
This patch still needs work.
> I added a documentation mention too.
I think the docs need more than just "these variables are set when an
exception is raised".
The patch current resets SQLSTATE and SQLERRM whenever a new block is
entered. So:
create function trap_exceptions() returns void as $_$
begin
begin
raise exception 'first exception';
exception when others then
raise notice '% %', SQLSTATE, SQLERRM;
begin
raise notice '% %', SQLSTATE, SQLERRM;
end;
end;
return;
end; $_$ language plpgsql;
The second RAISE will report "successful completion". Is this the
behavior we want?
Is SQLERRM the best name for that variable? It seems a little obscure to me.
-Neil