Re: SQLSTATE again
От | Bruce Momjian |
---|---|
Тема | Re: SQLSTATE again |
Дата | |
Msg-id | 200506050027.j550RxA29652@candle.pha.pa.us обсуждение исходный текст |
Ответ на | SQLSTATE again (Pavel Stehule <stehule@kix.fsv.cvut.cz>) |
Список | pgsql-patches |
This patch is has been removed from the patch queue for the following reason: --------------------------------------------------------------------------- This patch is not ready to be applied -- we're waiting for Pavel to submit a revised version with the semantics described here: http://archives.postgresql.org/pgsql-committers/2005-06/msg00017.php --------------------------------------------------------------------------- Pavel Stehule wrote: > Hello > > I changed implementation of SQLSTATE from block scope variables on > function scope variables. I am not sure if it's moust elegant solution, > but is very similar Oracle behavior (there is session scope variable) > > CREATE OR REPLACE FUNCTION ff() RETURNS void AS $$ > BEGIN > RAISE NOTICE 'No exception: % %', SQLSTATE, SQLERRM; > DECLARE x integer; > BEGIN > x := 10/0; > EXCEPTION WHEN OTHERS THEN > BEGIN > RAISE NOTICE 'Div: % %', SQLSTATE, SQLERRM; > BEGIN > RAISE NOTICE 'Div2: % %', SQLSTATE, SQLERRM; > RAISE EXCEPTION 'My user exception'; > EXCEPTION WHEN OTHERS THEN > RAISE NOTICE 'User: % %', SQLSTATE, SQLERRM; > END; > RAISE NOTICE '1: % %', SQLSTATE, SQLERRM; > END; > RAISE NOTICE '2: % %', SQLSTATE, SQLERRM; > END; > RAISE NOTICE '3: % %', SQLSTATE, SQLERRM; > END; > $$ LANGUAGE plpgsql; > select ff(); > > > NOTICE: No exception: 00000 Successful completion > NOTICE: Div: 22012 division by zero > NOTICE: Div2: 22012 division by zero > NOTICE: User: P0001 My user exception > NOTICE: 1: 00000 Successful completion > NOTICE: 2: 00000 Successful completion > NOTICE: 3: 00000 Successful completion > > Any comments? > > Regards > Pavel Stehule > > Content-Description: [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 5: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq -- 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 по дате отправления: