Re: SQLSTATE and SQLERRM - Mailing list pgsql-patches
From | Bruce Momjian |
---|---|
Subject | Re: SQLSTATE and SQLERRM |
Date | |
Msg-id | 200506071652.j57Gq1C27858@candle.pha.pa.us Whole thread Raw |
In response to | SQLSTATE and SQLERRM (Pavel Stehule <stehule@kix.fsv.cvut.cz>) |
List | pgsql-patches |
Patch retracted by author; new one coming. --------------------------------------------------------------------------- Pavel Stehule wrote: > Hello > > This patch respect last Tom's Lane notes. Is based on first variante, > > http://archives.postgresql.org/pgsql-committers/2005-05/msg00303.php > > SQLSTATE and SQLERRM are local variables blocks with EXCEPTION clause. > I wonted respect a litlle bit Oracle behavior and therefore exist these > variables on function scope too, allways "00000" and "Successful > completation" (allways marked isconst). > > I am really not sure what is better, respect Oracle or not with visibility > SQLSTATE and SQLERRM on function scope. Is true, using these variables > outside EXCEPTION is nonsens, but on other hand all magic variables has > function scope: FOUND, NEW, OLD, ... . SQLSTATE and SQLERRM are little bit > similar. If are you in oportunity, please correct this patch. It's easy. > Clean all parts with these on functions related procedures. Then is > neccesery change documentation, add info about outside exceptions blocks > is impossible use SQLSTATE and SQLERRM variables. (regress too) > > Regards > > Pavel Stehule > > create function excpt_test() returns void as $$ > begin > raise notice '% %', sqlstate, sqlerrm; > begin > raise exception 'usr exception'; > exception when others then > raise notice 'caught usr exception % %', sqlstate, sqlerrm; > begin > raise notice '% %', sqlstate, sqlerrm; > perform 10/0; > exception when others then > raise notice 'caught usr exception % %', sqlstate, sqlerrm; > end; > raise notice '% %', sqlstate, sqlerrm; > end; > raise notice '% %', sqlstate, sqlerrm; > end; $$ language plpgsql; > CREATE FUNCTION > select excpt_test(); > NOTICE: 00000 Successful completion > NOTICE: caught usr exception P0001 usr exception > NOTICE: P0001 usr exception > NOTICE: caught usr exception 22012 division by zero > NOTICE: P0001 usr exception > NOTICE: 00000 Successful completion > excpt_test > ------------ > > Regards > Pavel Stehule Content-Description: [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073
pgsql-patches by date: