[firebase-br] gen_id retornando valor antigo ao vigente

Carlos H. Cantu listas em warmboot.com.br
Sex Out 10 17:20:53 -03 2014


Ou tem alguma falha de lógica no seu sistema (procedures, etc) que
você ainda não identificou, ou seu banco pode estar corrompido,
afinal, generators ficam fora do contexto transacional, portanto,
nunca repetem o valor (a não ser que vc volte o valor do generator
manualmente).

Não acredito que o problema esteja relacionado a um usuário
especificamente, mas talvez possa estar relacionado ao que esse
usuário específico faz de diferente dos outros.

[]s
Carlos H. Cantu
www.FireBase.com.br - www.firebirdnews.org
www.warmboot.com.br - blog.firebase.com.br

G> olá,
G> tem um erro me deixando sem cabelo
G> tenho um sistema q faz +- 500 registros/mes (+ de 20 usuarios usam)
G> e acontece com 1 usuario somente (até agora), de vez em qdo, de ele 
G> fazer um lançamento e
G> o banco retornar o registro na grid q ele inseriu, certinho, mas com um
G> id mais antigo (ja usado por outro lançamento) ao q esta em vigor no 
G> sistema !
G> se ele insere outro registro ele continua na sequencia errada, trazendo
G> todos os campos q ele digitou certinho na grid sem erro !
G> se fecha o sistema e abre novamente, todos os lançamentos q ele fez 
G> desaparece e ao fazer um lançamento retorna o id correto !
G> é como se ele trabalhasse em outro banco de dados mais antigo! e depois
G> voltasse para o banco em produção !

G> ja troquei a maquina dele,
G> ja pinguei o dia inteiro a maquina, não perde nada !
G> não sei mais o q pode ser !

G> vamos à parte técnica:

G> Estação:
G> Linux CentOS 6.4 -  2.6.32-431.29.2.el6.x86_64

G> Sistema feito em Lazarus 1.2.2 com Zeos 7.1

G> Server:
G> Linux Debian GNU/Linux 7 (wheezy) 64
G> firebird2.5-superclassic 2.5.2~svn+54698.d amd64

G> o sistema roda uma StoredProcedure q faz o insert e retorna o 
G> GEN_ID(REQUISICAO_GEN,0) da tabela.
G> o campo chave primaria da tabela é incrementada atraves de uma trigger
G> com before insert
G> NEW.IDREQUISICAO = GEN_ID(REQUISICAO_GEN,1);

G> alguma luz pra descobrir isso ?
G> grato qq ajuda









G> ______________________________________________
G> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
G> Para saber como gerenciar/excluir seu cadastro na lista, use:
G> http://www.firebase.com.br/fb/artigo.php?id=1107
G> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista