Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.3Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb The user_defined_functions Table

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:


    The function name as referred to in SQL statements. The value is NULL if the function was registered by a CREATE FUNCTION statement and is in the process of unloading.


    The function return value type. The value is one of int, decimal, real, char, or row.


    The function type. The value is one of function (scalar) or aggregate.


    The name of the library file containing the executable function code. The file is located in the directory named by the plugin_dir system variable. The value is NULL if the function was registered by a component or plugin rather than by a CREATE FUNCTION statement.


    The 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.