RES: [firebase-br] Travamento Otimista ou Pessimista

Jesus (CSJ Sistemas) jesus em csjsistemas.com.br
Qui Jan 13 09:45:59 -03 2005


Só uma coisinha !!!

Voce disse que executa um SUM na movimentação do estoque, vendo Entradas
e Saidas e calculando o Saldo ?

Não seria melhor, primeiro fazer um select no Saldo Atual, armazenar em
Variable, calcular novo Saldo, atualizar  campos Saldo Anterior e Atual
em sua movimentação, com as variaveis acima e efetuar aí o update no seu
estoque, atualizando o Saldo ?

Com isto, voce ganha em performance e fica menos tempo com o transact
aberto, eliminando os lock's conflict.

Se ajudar em algo !!!

Ats. Jesus

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em nome de Marciano Bandeira
Enviada em: quinta-feira, 13 de janeiro de 2005 09:27
Para: FireBase
Assunto: Re: [firebase-br] Travamento Otimista ou Pessimista


  Obrigado pela resposta.

  Eu utilizo trigger para baixar o estoque, after insert, before update,
before delete, para baixa no estoque.

  Quanto a transação testei pelo IBExpert em máquinas diferentes.

  Tentei mexer no IB_Transaction do IBO para ver se funcionava no
programa o travamento otimista mais não consegui!

  Se alguém tiver alguma idéia...
  Desde ja abradeço
  Marciano Bandeira


  ----- Original Message -----
  From: "Jorge Henrique Aguiar" <jorginho em tauruslocacoes.com.br>
  To: "FireBase" <lista em firebase.com.br>
  Sent: Wednesday, January 12, 2005 5:43 PM
  Subject: Re: [firebase-br] Travamento Otimista ou Pessimista


  > 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
  >
  >
  >
  >
  > ______________________________________________
  > 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



______________________________________________
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

E-mail classificado pelo Identificador de Spam Inteligente Terra. Para
alterar a categoria classificada, visite
http://www.terra.com.br/centralunificada/emailprotegido/imail/imail.cgi?
+_u=csj_jesus&_l=1,1105616040.580112.16964.cagera.terra.com.br,6605,Des1
5,Des15

Esta mensagem foi verificada pelo E-mail Protegido Terra.
Scan engine: McAfee VirusScan / Atualizado em 12/01/2005 / Versão:
4.4.00 - Dat 4419 Proteja o seu e-mail Terra:
http://www.emailprotegido.terra.com.br/








Mais detalhes sobre a lista de discussão lista