[firebase-br] Possível bug em colunas Generated Always As / Computed By

Fabio Schunig fabio.schunig em gmail.com
Qui Abr 4 19:59:53 -03 2013


Boa noite pessoal!

Estou com alguns problemas com colunas Generated Always As (acontece também
com colunas Computed By).


Me parece ser um bug, pois sempre que uso a função POSITION nessas colunas,
o Firebird inclui as colunas posteriores dentro do código.
E, se o campo abaixo tiver um valor DEFAULT, ele é substituído por ")".
Exemplo para esclarecer melhor:

CREATE TABLE TABELA1 (
  NOME_COMPLETO COMPUTED BY ('Fabio ' || POSITION('X','Schunig')),
  TESTE NUMERIC(8,2) DEFAULT 0
);


Com o comando acima, o valor DEFAULT da coluna "TESTE" fica sendo ")".
Além disso, a coluna NOME_COMPLETO inclui as colunas seguintes.
Exemplo de como fica (no isql, para não haver dúvidas):

SQL> SHOW TABLE TABELA1;
NOME_COMPLETO                   Computed by: ('Fabio ' ||
POSITION('X','Schunig')),
  TESTE NUMERIC(8,2) DEFAULT 0
)
TESTE                           NUMERIC(8, 2) Nullable )


No ibexpert fica assim:

CREATE TABLE TABELA1 (
    NOME_COMPLETO  COMPUTED BY ('Fabio ' || POSITION('X','Schunig')),
  TESTE NUMERIC(8,2) DEFAULT 0
),
    TESTE          NUMERIC(8,2) )
);


Se não utilizar a função POSITION na expressão, isso não ocorre.
Imagino que seja um bug, certo?

Estou usando a versão 2.5.1

Abraços
Fabio Schunig



Mais detalhes sobre a lista de discussão lista