[firebase-br] Travamento Otimista ou Pessimista

Jorge Henrique Aguiar jorginho em tauruslocacoes.com.br
Qua Jan 12 17:43:49 -03 2005


Crie uma trigger para fazer o calculo do estoque, nao faça diretamente pelo 
programa senão dá zebra mesmo...

O q eu sempre fiz foi uma trigger(afterinsert nos itens da venda ou entrada) 
que dá um sum na quantidade de movimentação, separando os valores em 
variaveis distintas: ENTRADAS e SAÍDAS. Depois atualizo o saldo do produto. 
Funciona 100%. Quer dizer, até hj funcionou...

Quanto a transação, deve ser pq vc fez o teste da mesma estação. Tente de 
uma estação diferente e veja no que dá...

[]´s
----- Original Message ----- 
From: "Marciano Bandeira" <marciano.bandeira em bol.com.br>
To: "FireBase" <Lista em firebase.com.br>
Sent: Wednesday, January 12, 2005 4:41 PM
Subject: [firebase-br] Travamento Otimista ou Pessimista


  Boa tarde a todos

  Uma coisa está me esquentando a cabeça a algum tempo, estou desenvolvendo 
um sistema de vendas com banco de dados firebird, que rodará em rede, até aí 
tudo blzinha
  Mais digamos que o produto 1 da tabela de produtos tenha o estoque 50, aí 
o Terminal_1 vai e vende 10 unidades do Produto 1, mais antes de comitar 
(pois estará gravando outos items), o Terminal_2 vai e vende 5 unidades do 
produto 1 e Comita a transação, aí o estoque do produto 1 cai para 45, aí o 
Terminal_1 Comita a transação dele, como ficará o estoque, ele baixará para 
35 que seria o correto, ou baixará para 40 que era o que seria correto 
quando ele fez a gravação?
  OBS..: As baixas de estoque estou fazendo dentro de Triggers.
  OBS2: Tentei fazer o teste pelo IbExpert e ao tentar gravar o Item no 
Segundo terminal antes de comitar o primeiro apareceu a seguinte mensagem:

  "Error Message:
  ----------------------------------------
  Unsuccessful execution caused by system error that does not preclude 
successful execution of subsequent statements.
  lock conflict on no wait transaction.
  deadlock.
  update conflicts with concurrent update."

  Outra pergunda, se o Firebird/Interbase faz travamento otimista de 
registro porquê dessa mensagem?

  Fica as duas perguntas no ar
  Agradeço a todos que poderem me ajudar
  Marciano Bandeira
  msn: cbndesenvolvimento em hotmail.com
  skype: marcianobandeira


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br







Mais detalhes sobre a lista de discussão lista