2013/8/21 Marko Tiikkaja <ma...@joh.to>

> Hi,
>
> By default, PL/pgSQL does not print the error context of a RAISE
> statement, for example:
>
> =# create function foof() returns void as $$ begin raise exception 'foo';
> end $$ language plpgsql;
> CREATE FUNCTION
>
> =# create function bar() returns void as $$ begin perform foof(); end $$
> language plpgsql;
> CREATE FUNCTION
>
> =# select bar();
> ERROR:  foo
> CONTEXT:  SQL statement "SELECT foof()"
> PL/pgSQL function "bar" line 1 at PERFORM
>
>
> I find this extremely surprising, since if you raise the same exception
> (or a DEBUG/NOTICE message) in multiple places, the error context is
> missing valuable information.  With a trivial change the last error could
> be:
>
> =# select bar();
> ERROR:  foo
> CONTEXT:  PL/pgSQL function "foof" line 1 RAISE
> SQL statement "SELECT foof()"
> PL/pgSQL function "bar" line 1 at PERFORM
>
> which I find a lot better.
>

+1

Pavel

>
> Thoughts?
>
>
> Regards,
> Marko Tiikkaja
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/**mailpref/pgsql-hackers<http://www.postgresql.org/mailpref/pgsql-hackers>
>

Reply via email to