CVSROOT: /cvsroot
Module name: pgsql
Changes by: petere@postgresql.org 02/05/22 13:21:02
Modified files:
doc/src/sgml : release.sgml
doc/src/sgml/ref: create_language.sgml
src/backend/catalog: pg_aggregate.c pg_proc.c
src/backend/commands: functioncmds.c proclang.c
src/backend/nodes: copyfuncs.c equalfuncs.c
src/backend/parser: gram.y keywords.c
src/backend/utils/adt: sets.c
src/bin/pg_dump: pg_dump.c
src/include/catalog: catversion.h pg_language.h pg_proc.h
src/include/nodes: parsenodes.h
src/test/regress/input: create_function_1.source
src/test/regress/output: create_function_1.source
Log message:
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.