SQLSTATE again
От | Pavel Stehule |
---|---|
Тема | SQLSTATE again |
Дата | |
Msg-id | Pine.LNX.4.44.0505300858440.11699-200000@kix.fsv.cvut.cz обсуждение исходный текст |
Ответы |
Re: SQLSTATE again
|
Список | pgsql-patches |
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
Вложения
В списке pgsql-patches по дате отправления: