Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL принимает несколько мер, чтобы предотвратить неправильное употребление определяемых пользователем функций.
Объектные файлы UDF не могут быть помещены в произвольные каталоги. Они должны быть расположены в сменном
каталоге сервера. Этот каталог дается значением plugin_dir
системная переменная.
Использовать CREATE FUNCTION
или DROP FUNCTION
, Вы должны иметь INSERT
или DELETE
полномочие, соответственно, для mysql
база
данных. Это необходимо, потому что те операторы добавляют и удаляют строки из mysql.func
таблица.
У UDFs должен быть по крайней мере один символ, определенный в дополнение к xxx
символ, который соответствует основному xxx()
функция. Эти вспомогательные символы
соответствуют xxx_init()
, xxx_deinit()
, xxx_reset()
, xxx_clear()
, и xxx_add()
функции. mysqld также поддерживает --allow-suspicious-udfs
опция, которая управляет, ли UDFs, которые имеют
только xxx
символ может быть загружен. По умолчанию опция выключена, чтобы
предотвратить попытки загрузки функций от совместно используемых объектных файлов кроме тех, которые содержат
законный UDFs. Если у Вас есть более старые UDFs, которые содержат только xxx
символ и это не могут быть перекомпилированы, чтобы включать вспомогательный символ, может быть необходимо
определить --allow-suspicious-udfs
опция. Иначе, следует избежать включать этой
возможности.