(mysql.info) adding-functions
Info Catalog
(mysql.info) mysql-internals
(mysql.info) extending-mysql
(mysql.info) adding-procedures
24.2 Adding New Functions to MySQL
==================================
Menu
* udf-features Features of the User-Defined Function Interface
* create-function `CREATE FUNCTION' Syntax
* drop-function `DROP FUNCTION' Syntax
* adding-udf Adding a New User-Defined Function
* adding-native-function Adding a New Native Function
There are two ways to add new functions to MySQL:
* You can add functions through the user-defined function (UDF)
interface. User-defined functions are compiled as object files and
then added to and removed from the server dynamically using the
`CREATE FUNCTION' and `DROP FUNCTION' statements. See
create-function.
* You can add functions as native (built-in) MySQL functions.
Native functions are compiled into the `mysqld' server and become
available on a permanent basis.
Each method has advantages and disadvantages:
* If you write user-defined functions, you must install object files
in addition to the server itself. If you compile your function
into the server, you don't need to do that.
* Native functions require you to modify a source distribution.
UDFs do not. You can add UDFs to a binary MySQL distribution. No
access to MySQL source is necessary.
* If you upgrade your MySQL distribution, you can continue to use
your previously installed UDFs, unless you upgrade to a newer
version for which the UDF interface changes. For native functions,
you must repeat your modifications each time you upgrade.
Whichever method you use to add new functions, they can be invoked in
SQL statements just like native functions such as `ABS()' or
`SOUNDEX()'.
Another way to add functions is by creating stored functions. These
are written using SQL statements rather than by compiling object code.
The syntax for writing stored functions is described in
stored-procedures.
The following sections describe features of the UDF interface, provide
instructions for writing UDFs, discuss security precautions that MySQL
takes to prevent UDF misuse, and describe how to add native mySQL
functions.
For example source code that illustrates how to write UDFs, take a look
at the `sql/udf_example.cc' file that is provided in MySQL source
distributions.
Info Catalog
(mysql.info) mysql-internals
(mysql.info) extending-mysql
(mysql.info) adding-procedures
automatically generated byinfo2html