-
- Downloads
Add optional "validator" function to languages that can validate the
function body (and other properties) as a function in the language is created. This generalizes ad hoc code that already existed for the built-in languages. The validation now happens after the pg_proc tuple of the new function is created, so it is possible to define recursive SQL functions. Add some regression test cases that cover bogus function definition attempts.
Showing
- doc/src/sgml/ref/create_language.sgml 28 additions, 2 deletionsdoc/src/sgml/ref/create_language.sgml
- doc/src/sgml/release.sgml 5 additions, 3 deletionsdoc/src/sgml/release.sgml
- src/backend/catalog/pg_aggregate.c 2 additions, 1 deletionsrc/backend/catalog/pg_aggregate.c
- src/backend/catalog/pg_proc.c 133 additions, 67 deletionssrc/backend/catalog/pg_proc.c
- src/backend/commands/functioncmds.c 27 additions, 1 deletionsrc/backend/commands/functioncmds.c
- src/backend/commands/proclang.c 17 additions, 3 deletionssrc/backend/commands/proclang.c
- src/backend/nodes/copyfuncs.c 2 additions, 1 deletionsrc/backend/nodes/copyfuncs.c
- src/backend/nodes/equalfuncs.c 3 additions, 1 deletionsrc/backend/nodes/equalfuncs.c
- src/backend/parser/gram.y 11 additions, 5 deletionssrc/backend/parser/gram.y
- src/backend/parser/keywords.c 2 additions, 1 deletionsrc/backend/parser/keywords.c
- src/backend/utils/adt/sets.c 2 additions, 1 deletionsrc/backend/utils/adt/sets.c
- src/bin/pg_dump/pg_dump.c 35 additions, 5 deletionssrc/bin/pg_dump/pg_dump.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_language.h 9 additions, 7 deletionssrc/include/catalog/pg_language.h
- src/include/catalog/pg_proc.h 9 additions, 1 deletionsrc/include/catalog/pg_proc.h
- src/include/nodes/parsenodes.h 2 additions, 1 deletionsrc/include/nodes/parsenodes.h
- src/test/regress/input/create_function_1.source 25 additions, 0 deletionssrc/test/regress/input/create_function_1.source
- src/test/regress/output/create_function_1.source 25 additions, 0 deletionssrc/test/regress/output/create_function_1.source
Loading
Please register or sign in to comment