Pergunta

folks. Quando eu acreditei que eu era um gênio e que os metadados foi minha propriedade intelectual, eu desenvolvi um procedimento no firebird para acompanhar as mudanças em uma única tabela, algo com id's e carimbos de tempo. Então, já fiz um movimento de mega inteligente e eliminada a fonte deste procedimento.

Alguém sabe um decodificador BLR, ou os doc's que eu preciso para uma construção?

TIA.

Foi útil?

Solução

Eu vi uma ferramenta de visualização BLR (na ferramenta de administração do IB de Jason Wharton), mas só iria exibir nomes BLR, não transliterate volta para SQL / idioma proc. Acho que o que você está procurando não existe.

Você pode get BLR documentação aqui , no entanto.

Outras dicas

Não é agradável BLR (binário) para BLR decodificador (texto) em si Firebird. Você pode habilitá-lo com set blob all (ou set blobdisplay all). Você pode chamá-lo de ISQL:

SQL> set term !;
SQL> create procedure p1
CON> as
CON>   declare n integer = 1;
CON> begin
CON>   n = n * 2;
CON> end!
SQL> set term ;!
SQL> 
SQL> set blob all;
SQL> commit;
SQL> 
SQL> select rdb$procedure_blr from rdb$procedures where rdb$procedure_name = 'P1';

RDB$PROCEDURE_BLR 
================= 
             1a:3 
==============================================================================
RDB$PROCEDURE_BLR:  
            blr_version5,
            blr_begin,
               blr_message, 1, 1,0,
                  blr_short, 0,
               blr_begin,
                  blr_declare, 0,0, blr_long, 0,
                  blr_assignment,
                     blr_literal, blr_long, 0, 1,0,0,0,
                     blr_variable, 0,0,
                  blr_stall,
                  blr_label, 0,
                     blr_begin,
                        blr_begin,
                           blr_assignment,
                              blr_multiply,
                                 blr_variable, 0,0,
                                 blr_literal, blr_long, 0, 2,0,0,0,
                              blr_variable, 0,0,
                           blr_end,
                        blr_end,
                  blr_end,
               blr_send, 1,
                  blr_begin,
                     blr_assignment,
                        blr_literal, blr_short, 0, 0,0,
                        blr_parameter, 1, 0,0,
                     blr_end,
               blr_end,
            blr_eoc

==============================================================================

Se você ainda tiver o banco de dados há uma chance da fonte procedimento ainda está lá em algum lugar, mas marcado como excluído. Você pode tentar abrir o arquivo de banco de dados em um editor hexadecimal e procure o nome do procedimento.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top