Improve plpgsql's RAISE command. It is now possible to attach DETAIL and
HINT fields to a user-thrown error message, and to specify the SQLSTATE error code to use. The syntax has also been tweaked so that the Oracle-compatible case "RAISE exception_name" works (though you won't get a very nice error message if you just write that much). Lastly, support the Oracle-compatible syntax "RAISE" with no parameters to re-throw the current error from within an EXCEPTION block. In passing, allow the syntax SQLSTATE 'nnnnn' within EXCEPTION lists, so that there is a way to trap errors with custom SQLSTATE codes. Pavel Stehule and Tom Lane
Showing
- doc/src/sgml/plpgsql.sgml 104 additions, 22 deletionsdoc/src/sgml/plpgsql.sgml
- src/pl/plpgsql/src/gram.y 210 additions, 64 deletionssrc/pl/plpgsql/src/gram.y
- src/pl/plpgsql/src/pl_comp.c 37 additions, 1 deletionsrc/pl/plpgsql/src/pl_comp.c
- src/pl/plpgsql/src/pl_exec.c 183 additions, 58 deletionssrc/pl/plpgsql/src/pl_exec.c
- src/pl/plpgsql/src/pl_funcs.c 37 additions, 2 deletionssrc/pl/plpgsql/src/pl_funcs.c
- src/pl/plpgsql/src/plpgsql.h 27 additions, 4 deletionssrc/pl/plpgsql/src/plpgsql.h
- src/pl/plpgsql/src/scan.l 1 addition, 6 deletionssrc/pl/plpgsql/src/scan.l
- src/test/regress/expected/plpgsql.out 130 additions, 1 deletionsrc/test/regress/expected/plpgsql.out
- src/test/regress/sql/plpgsql.sql 130 additions, 1 deletionsrc/test/regress/sql/plpgsql.sql
Loading
Please register or sign in to comment