[firebase-br] Deadlock on execute procedure

Carlos H. Cantu listas em warmboot.com.br
Quarta Outubro 27 14:01:38 -03 2021


https://www.firebase.com.br/artigo.php?id=232

[]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

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

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

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

CM> []s
CM> Carlos H. Cantu
CM> eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
CM> 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
CM> 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


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




Mais detalhes sobre a lista de discussão lista