Назад | Перейти на главную страницу

Показать все UDF, установленные на сервере MySQL?

Как мне отобразить все UDF (определяемые пользователем функции) на сервере MySQL? (версия 5.0.x)

ОБНОВИТЬ Я не хочу отображать код всех UDF, я просто хочу указать имя каждой установленной UDF. Сорта как SHOW DATABASES, но для UDF.

UDF хранятся в таблице FUNC базы данных mysql.

Попробуй это:

 select * from mysql.func;

Все процедуры хранятся в базе данных mysql. Обычно я использую этот запрос, когда что-то ищу.

выберите db, имя, определитель, измененный из mysql.proc;

Согласно документам, похоже, вы не можете сделать это, если в сборке не включена отладка.

См .: (Эта страница предназначена для функций, а также для процедур)

http://dev.mysql.com/doc/refman/5.0/en/show-procedure-code.html

Если вы хотите создавать операторы (скажем, для восстановления из резервной копии или создания тех же UDF в другой системе), вы можете использовать это

select concat('create function`',`name`,'`returns ',if(`ret`=0,'string','integer'),' soname\'',`dl`,'\';')from mysql.func;

Должен вернуть что-то вроде

create function`preg_position`returns integer soname'lib_mysqludf_preg.so';
create function`preg_rlike`returns integer soname'lib_mysqludf_preg.so';
create function`preg_replace`returns string soname'lib_mysqludf_preg.so';
create function`lib_mysqludf_preg_info`returns string soname'lib_mysqludf_preg.so';
create function`preg_capture`returns string soname'lib_mysqludf_preg.so';
create function`preg_check`returns integer soname'lib_mysqludf_preg.so';
create function`unhtml`returns string soname'unhtml.so';