[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