| From: | Neil Conway <neilc(at)samurai(dot)com> |
|---|---|
| To: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
| Cc: | Pavel Stehule <stehule(at)kix(dot)fsv(dot)cvut(dot)cz>, pgsql-patches(at)postgresql(dot)org, 'Tom Lane' <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Subject: | Re: Implementation of SQLSTATE and SQLERRM variables |
| Date: | 2005-05-26 03:05:41 |
| Message-ID: | 42953D05.2070100@samurai.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-05-26 03:26:00 | Re: pgsql: Add PL/pgSQL SQLSTATE and SQLERRM support which sets these values |
| Previous Message | Bruce Momjian | 2005-05-26 02:39:50 | Re: Implement support for TCP_KEEPCNT, TCP_KEEPIDLE, TCP_KEEPINTVL |