[firebase-br] Dúvida sobre transações

Renan Cruz de Almeida renan.aju em terra.com.br
Qua Out 11 11:59:35 -03 2006


Penso que não vai dar deadlock, mas pode acontecer o seguinte, acaso o 
sistema não tenha nenhum controle a mais, tomando como exemplo um 
produto qualquer "X" :

caixa A : abre transação;
caixa B : abre transação;

caixa A : lê estoque X = 100;
caixa B : lê estoque X = 100;

caixa A : faz estoque final X = 100-30 = 70;
caixa B : faz estoque final X = 100-40 = 60;

OBS : na realidade o estoque final de X deverá ser 100-(30+40) = 30, ao 
término das transações A e B.

caixa A : finaliza a transação e atualiza estoque final X = 70;
caixa B : finaliza a transação e atualiza estoque final X = 60;

Isso é uma anomalia de alteração, onde os SGBD's não têm como impedir, 
pois a "defesa" contra isto reside nas regras do negócio que está sendo 
modelado e na forma como o sistema é implementado.

[]'s
Renan

>É o seguinte: Tenho um sistema de vendas que a cada venda abate o estoque. Qual a garantia que eu tenho (mesmo com transações pequenas e rápidas) se em dois caixas tentarem alterar o estoque de um mesmo produto ao mesmo tempo não vai dar deadlock. Uso Firebird + Zeos.
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
>  
>





Mais detalhes sobre a lista de discussão lista