[firebase-br] Deadlock on execute procedure

Carlos Matos matos em comograma.pt
Quarta Outubro 27 12:28:35 -03 2021


Mas quando eu tenho os parâmetros read_committed e no_rec_version, o
parâmetro "wait" não está implícito com esta combinação (read_committed e
no_rec_version) ?

-----Mensagem original-----
De: lista <lista-bounces em firebase.com.br> Em Nome De Carlos H. Cantu via
lista
Enviada: 27 de outubro de 2021 15:54
Para: FireBase <lista em firebase.com.br>
Cc: Carlos H. Cantu <listas em warmboot.com.br>
Assunto: Re: [firebase-br] Deadlock on execute procedure

Você está usando no_rec_version (provavelmente com "no wait"), então vai dar
deadlock sempre que sua transação tentar atualizar um registro onde exista
uma versão dele ainda não commitada por outra transação.

[]s
Carlos H. Cantu
eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br

CMvl> Estou tendo um problema há vários meses.

CMvl> Estou a usar o Firebird 4 e tenho uma unit onde faço várias 
CMvl> operações, select, update, insert e no final estou a executar um 
CMvl> procedimento, ou seja, um Stored Procedure do Firebird.

CMvl> Tudo isto está na mesma transação.

CMvl>  

CMvl> Acontece que aquando da execução do Stored Procedure, por vezes, 
CMvl> bastantes vezes, estou a obter um Deadlock e quase sempre na mesma 
CMvl> linha do Stored Procedure.

CMvl>  

CMvl> Os parâmetros da minha transação são:

CMvl> read_committed

CMvl> no_rec_version

CMvl>  

CMvl> Não percebo porquê o Deadlock, afinal de contas tenho tudo numa 
CMvl> mesma transação e caso haja um concurrent update e sendo que o 
CMvl> parâmetro “wait” da transação está presente nesta situação, 
CMvl> deveria aguardar até que fosse possível a operação.

CMvl>  

CMvl> Ou estou errado aqui??!!!!!!!!!!!!

CMvl>  

CMvl>  

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


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




Mais detalhes sobre a lista de discussão lista