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

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

              http://www.postgresql.org/docs/faq

Reply via email to