Exibe todas as UDFs instaladas em um servidor MySQL?

4

Como eu exibo todas as UDFs (User Definied Functions) em um servidor MySQL? (versão 5.0.x)

UPDATE Eu não quero mostrar o código de todas as UDFs, apenas quero listar o nome de cada UDF que está instalada. Sorta como SHOW DATABASES , mas para UDFs.

    
por Rory 07.08.2009 / 11:28

4 respostas

2

Todos os procedimentos são armazenados no banco de dados mysql. Eu costumo usar essa consulta quando estou procurando algo.

selecione db, nome, definidor, modificado de mysql.proc;

    
por 09.08.2009 / 19:05
8

UDF são armazenados na tabela FUNC do banco de dados mysql.

Tente isto:

 select * from mysql.func;
    
por 21.01.2011 / 10:12
1

De acordo com os documentos, parece que você não pode fazer isso sem a depuração ativada na compilação.

Veja: (Esta página é para funções, bem como procs)

link

    
por 07.08.2009 / 15:18
0

Se você deseja criar instruções (por exemplo, para restaurar a partir de um backup ou criar as mesmas UDFs em outro sistema), use este

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

Deve retornar algo como

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';
    
por 04.12.2018 / 15:24