[firebase-br] Lock conflict on no wait transaction + IBO
Felipe Aron
felipearon em gmail.com
Ter Ago 20 09:53:21 -03 2013
E ai pessoALL tudo bem?
Hoje pude acompanhar em tempo real o problema do Firebird "*Lock conflict
on no wait transaction*":
http://www.firebirdfaq.org/faq109/
O cliente teve esse erro ao alterar o cadastro do produto, e constatei que
numa outra máquina estava fazendo um novo pedido selecionando o mesmo
registro.
O Select (leitura) possui uma transação enquanto o Update (gravação) possui
outra.
Entendi a questão do NO WAIT (leitura da FAQ) porém não vejo com bons olhos
habilitar o WAIT pois no meu cenário pode "travar" a ação do usuário - no
caso a alteração do produto.
Estou usando os componentes IBO (Database, Transaction, Query).
Qual seria a forma ideal para tratar essa exceção?
Deixando a Transaction de leitura como "readOnly" resolveria? Existe alguma
configuração na Query de somente-leitura (usado somente para Selects) para
não deixar a transação pendente?
Desde já agradeço pela ajuda! :D
--
Analista-Programador
#FollowMe: @felipearon <http://twitter.com/felipearon> (
http://felipearon.net)
Mais detalhes sobre a lista de discussão lista