user_defined_functions 表包含每个可加载函数的条目,这些函数由组件或插件自动注册,或由 CREATE FUNCTION 语句手动注册。有关添加或删除表行操作的信息,请参见 第 7.7.1 节,“安装和卸载可加载函数”。
user_defined_functions 表的名称源于其最初对现在称为可加载函数(即用户定义函数或 UDF)类型函数的命名。
user_defined_functions 表包含以下列
UDF_NAME函数名称,如 SQL 语句中所引用。如果函数由
CREATE FUNCTION语句注册并且正在卸载过程中,则该值为NULL。UDF_RETURN_TYPE函数返回值类型。该值是
int、decimal、real、char或row之一。UDF_TYPE函数类型。该值是
function(标量)或aggregate之一。UDF_LIBRARY包含可执行函数代码的库文件名称。该文件位于由
plugin_dir系统变量命名的目录中。如果函数是由组件或插件注册的,而不是由CREATE FUNCTION语句注册的,则该值为NULL。UDF_USAGE_COUNT当前函数使用次数。这用于判断语句当前是否正在访问该函数。
user_defined_functions 表包含以下索引
主键在 (
UDF_NAME) 上
TRUNCATE TABLE 不允许用于 user_defined_functions 表。
mysql.func 系统表也列出了已安装的可加载函数,但只列出了那些使用 CREATE FUNCTION 安装的函数。 user_defined_functions 表列出了使用 CREATE FUNCTION 安装的可加载函数,以及由组件或插件自动安装的可加载函数。这种区别使 user_defined_functions 比 mysql.func 更适合检查哪些可加载函数已安装。