In ProcedureCreate() (backend/catalog/pg_proc.c) there are special cases
for the built-in languages that check whether the to-be-created function
has a valid body. ISTM that we could extend that for user-defined
functions, as follows.
When creating a language, the user can optionally register a "check"
function for the language, whose responsibility is to check the supplied
function body for correctness and return a Boolean result. This function
would be executed at the time the function is created.
For example, for PL/Perl, the check function could execute the equivalent
of 'perl -c', or if we have a Java language in the future it could check
whether certain classes are loadable.
Comments?
--
Peter Eisentraut peter_e@gmx.net