Re: Implementation of SQLSTATE and SQLERRM variables - Mailing list pgsql-patches

From Neil Conway
Subject Re: Implementation of SQLSTATE and SQLERRM variables
Date
Msg-id 42953D05.2070100@samurai.com
Whole thread Raw
In response to Re: Implementation of SQLSTATE and SQLERRM variables  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: Implementation of SQLSTATE and SQLERRM variables
Re: Implementation of SQLSTATE and SQLERRM variables
List pgsql-patches
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

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL
Next
From: Tom Lane
Date:
Subject: Re: Implementation of SQLSTATE and SQLERRM variables