[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