[firebase-br] Deadlock on execute procedure

Carlos H. Cantu listas em warmboot.com.br
Quarta Outubro 27 11:54:25 -03 2021


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 operações,
CMvl> select, update, insert e no final estou a executar um procedimento, ou seja,
CMvl> 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, bastantes
CMvl> vezes, estou a obter um Deadlock e quase sempre na mesma linha do Stored
CMvl> 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 mesma
CMvl> transação e caso haja um concurrent update e sendo que o parâmetro “wait” da
CMvl> transação está presente nesta situação, deveria aguardar até que fosse
CMvl> possível a operação. 

CMvl>  

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

CMvl>  

CMvl>  

CMvl> ______________________________________________
CMvl> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
CMvl> 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




Mais detalhes sobre a lista de discussão lista