`CREATE FUNCTION/DROP FUNCTION' Syntax
--------------------------------------
CREATE [AGGREGATE] FUNCTION function_name RETURNS {STRING|REAL|INTEGER}
SONAME shared_library_name
DROP FUNCTION function_name
A user-definable function (UDF) is a way to extend MySQL with a new
function that works like native (built in) MySQL functions such as
`ABS()' and `CONCAT()'.
`AGGREGATE' is a new option for MySQL Version 3.23. An `AGGREGATE'
function works exactly like a native MySQL `GROUP' function like `SUM'
or `COUNT()'.
`CREATE FUNCTION' saves the function's name, type, and shared library
name in the `mysql.func' system table. You must have the *insert* and
*delete* privileges for the `mysql' database to create and drop
functions.
All active functions are reloaded each time the server starts, unless
you start `mysqld' with the `--skip-grant-tables' option. In this
case, UDF initialization is skipped and UDFs are unavailable. (An
active function is one that has been loaded with `CREATE FUNCTION' and
not removed with `DROP FUNCTION'.)
For instructions on writing user-definable functions, see Note:Adding
functions. For the UDF mechanism to work, functions must be written
in C or C++, your operating system must support dynamic loading and you
must have compiled `mysqld' dynamically (not statically).