[firebase-br] Bug do Firebird 2.1 RC 2

Edgard no IBest econeto em ibest.com.br
Sex Abr 11 01:05:06 -03 2008



Tenho um banco em produção, onde documentei praticamente todos os 
metadados (domains, tables, views, sp, etc), inclusive as descrições de 
todos os fields, etc...

Uso no ambiente de produção a versão 1.0.3 sem problemas. E instalei na 
minha estação do windows Xp a versão 2.1 RC 1 e agora a RC 2.
Como IDE uso o IBExpert full.

Constatei o seguinte problema:
Quando eu comparava o banco do meu ambiente (XP com FB 2.1 RC 1 ou 2) 
com um banco no ambiente linux FB 2.03, o IBExpert sempre indicava que 
as descrições dos domains não estavam iguais e sugeria que eu fizesse a 
atualização com a descrição indicada. No entanto estas descrições, 
mostravam todos os acentos errados, apenas nas descrições dos domains. 
Eu estranhava pois eu não havia mudado aqueles dominios, muito menos as 
descrições.
Eu abria normalmente o banco da versão do FB 1.0.3 na minha maquina que 
está rodando o server 2.1 RC.

Então fiz o seguinte:
Fiz um backup (transportable) do servidor linux FB 2.0.3 e restaurei no 
meu ambiente (Win XP com FB 2.1 RC 1 ou 2) sem apresentar nenhum erro.
 O entanto, quando eu tento abrir o BD no IBExpert ele acusa um erro:
"Cannot transliterate character between character sets". E pára de 
carregar os dados na árvore.
Você pode está achando que o problema é do IBExpert, mas eu posso 
mostrar que não é.
Segue os fatos:

- Algumas descrições que tem caracteres acentuados estão errados;
- Não detetei nenhum problema ao usar o banco nas minhas aplicações;
- executei a query abaixo, no IBEXPERT e o erro se repetiu
select RDB$FIELD_NAME, RDB$DESCRIPTION from RDB$FIELDS
order by RDB$FIELD_NAME

- através de linha de comando isql executei esta mesma  query e os 
acentos estavam todos trocados, mas não deu erro.

- executei a query abaixo (sem recuperar a descrição),  no IBEXPERT e o 
erro NÃO se repetiu
select rdb$field_name from rdb$fields where rdb$description is not null


- Desinstalei o firebird 2.1 RC2 e instalei a versão 2.0.4 RC1, 
restaurei o banco e o erro não ocorreu, tudo funcionou normalmente, 
inclusive no IBExpert, rodei essas queries sem problemas.
- Notei que que a ODS do 2.1 é 11.1 e a do 2.0.4 é 11.0, portanto 
diferentes.

- Acho que foi quando foi implementado a funcionalidade de domain em 
storage procedure, pois esta parece ser a grande mudança que houve entre 
as versões


Agradeço antecipadamente.

Edgard Oliveira






Mais detalhes sobre a lista de discussão lista