+ linkend="guc-check-function-bodies"> parameter: if it is turned off then
+ any expensive or context-sensitive checking should be skipped.
+ In particular, this parameter is turned off by
pg_dump>
+ so that it can load procedural language functions without worrying
+ about possible dependencies of the function bodies on other database
+ objects. (Because of this requirement, the call handler should avoid
+ assuming that the validator has fully checked the function. The point
+ of having a validator is not to let the call handler omit checks, but
+ to notify the user immediately if there are obvious errors in a
+ CREATE FUNCTION> command.)
+
+
+ If an inline handler is provided by a procedural language, it
+ must be declared as a function taking a single parameter of type
+ internal>. The inline handler's result is ignored, so it is
+ customarily declared to return void>. The inline handler
+ will be called when a DO> statement is executed specifying
+ the procedural language. The parameter actually passed is a pointer
+ to an InlineCodeBlock> struct, which contains information
+ about the DO> statement's parameters, in particular the
+ text of the anonymous code block to be executed. The inline handler
+ should execute this code and return.
+
+
The procedural languages included in the standard distribution
- are good references when trying to write your own call handler.
+ are good references when trying to write your own language handler.
Look into the src/pl> subdirectory of the source tree.
+ The
+ reference page also has some useful details.