Добавление новых функций в MySQL


Существует два способа добавления функций в MySQL:

  • Можно добавить функцию посредством интерфейса определяемых пользователем функций (user-definable function - UDF). Определяемые пользователем функции добавляются и удаляются динамически с помощью команд CREATE FUNCTION и DROP FUNCTION (Синтаксис CREATE FUNCTION/DROP FUNCTION).

  • Можно добавить функцию как «родную» (встроенную) функцию MySQL. «Родные» функции компилируются вместе с остальным кодом сервера mysqld и становятся постоянно доступными.

Каждый метод имеет преимущества и недостатки:

  • Если вы пишете определяемую пользователем функцию, то помимо сервера необходимо инсталлировать объектный файл. В этом нет необходимости при компиляции функции вместе с сервером.

  • UDF можно добавить в бинарную поставку MySQL. Для «родных» функций необходимо изменять поставку исходного кода.

  • При обновлении поставки MySQL можно продолжать использовать ранее инсталлированные UDF. Для ''родных функций нужно при каждом обновлении вносить изменения повторно.

Независимо от выбранного метода добавления новых функций, их можно использовать точно так же, как и встроенные функции, подобные ABS() или SOUNDEX().