Logo

Firebird: UDR (User Defined Routines)

Alta performance e integração externa com linguagens compiladas.

A Evolução: De UDF para UDR

A partir da versão 3.0, o Firebird introduziu as UDRs (User Defined Routines), substituindo o antigo e inseguro conceito de UDFs (User Defined Functions). Enquanto as UDFs eram bibliotecas externas simples, as UDRs são plugins integrados que rodam dentro do motor com segurança e contexto de transação.

Dica de Integração: Como especialista em Pascal, utilizo frequentemente o Free Pascal ou Delphi para criar bibliotecas .so (Linux) ou .dll (Windows) que são mapeadas como UDRs, permitindo que o Firebird execute cálculos científicos ou acesse APIs externas com performance nativa.

Possibilidades com UDR

Exemplo de Registro de UDR

Após compilar sua biblioteca em Pascal ou C++, o registro no Firebird segue este padrão:

CREATE FUNCTION GET_SISTEMA_INFO (
    INFO_TYPE VARCHAR(50)
) RETURNS VARCHAR(255)
EXTERNAL NAME 'meu_plugin_udr!get_sys_info'
ENGINE UDR;

Conclusão

As UDRs representam o nível máximo de personalização do Firebird. Elas permitem que o desenvolvedor "ensine" novos truques ao banco de dados, utilizando todo o poder de linguagens de baixo nível como Pascal e C++.

← Voltar para UDR