[firebase-br] SP para Guid que dá problemas em alguns versões de FB 2.1

Evandro's mailing lists (Please, don't send personal messages to this address) listasjr em gmail.com
Qui Set 3 15:03:58 -03 2009


Pessoal,

Gostaria de uma ajuda com essa query que em alguns bancos FB está dando erro
na compilação (Na minha compila ok 2.1.2.18118). Entretanto roda ok se
mandar executar como script. Vocês acham que tem algum erro na SP ou é só
algum bug do firebird? Nas atualizações de banco é a maior confusão pois
temos que sair comentando ela no metadados antes de atualizar, o que consome
uma boa parcela de tempo do suporte. Qualquer ajuda será válida.

Muito obrigado
-Evandro



CREATE PROCEDURE SP_HEX2UUID (

    hex varchar(32))

returns (

    result char(16) character set octets)

as

declare variable i integer;

declare variable temp varchar(16) character set octets;

begin

  hex = upper(:HEX);

  temp = '';

  i = 1;

  while (i <= char_length(:HEX)) do

  begin

     temp = :TEMP || ascii_char((position(substring(:hex from :i for 1),

            '0123456789ABCDEF') - 1) * 16 + (position(substring(:hex from :i
+ 1 for 1), '0123456789ABCDEF') - 1));

     i = (:i + 2);

  end

  result = temp;

  suspend;

end



Mais detalhes sobre a lista de discussão lista