The user_defined_functions table
contains a row for each loadable function registered
automatically by a component or plugin, or manually by a
CREATE
FUNCTION statement. For information about operations
that add or remove table rows, see
Section 7.7.1, “Installing and Uninstalling Loadable Functions”.
The name of the
user_defined_functions table
stems from the terminology used at its inception for the
type of function now known as a loadable function (that is,
user-defined function, or UDF).
The user_defined_functions table
has these columns:
UDF_NAMEThe function name as referred to in SQL statements. The value is
NULLif the function was registered by aCREATE FUNCTIONstatement and is in the process of unloading.UDF_RETURN_TYPEThe function return value type. The value is one of
int,decimal,real,char, orrow.UDF_TYPEThe function type. The value is one of
function(scalar) oraggregate.UDF_LIBRARYThe name of the library file containing the executable function code. The file is located in the directory named by the
plugin_dirsystem variable. The value isNULLif the function was registered by a component or plugin rather than by aCREATE FUNCTIONstatement.UDF_USAGE_COUNTThe current function usage count. This is used to tell whether statements currently are accessing the function.
The user_defined_functions table
has these indexes:
Primary key on (
UDF_NAME)
TRUNCATE TABLE is not permitted
for the user_defined_functions
table.
The mysql.func system table also lists
installed loadable functions, but only those installed using
CREATE
FUNCTION. The
user_defined_functions table
lists loadable functions installed using
CREATE
FUNCTION as well as loadable functions installed
automatically by components or plugins. This difference makes
user_defined_functions preferable
to mysql.func for checking which loadable
functions are installed.