Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 259.2Kb
Man Pages (Zip) - 366.2Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


29.12.22.10 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”.

Note

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_NAME

    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.

  • UDF_RETURN_TYPE

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

  • UDF_TYPE

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

  • UDF_LIBRARY

    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.

  • UDF_USAGE_COUNT

    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.