RES: [firebase-br] Concorrência de Acesso

Julio Cesar julio_gyn em yahoo.com.br
Qua Mar 21 17:48:49 -03 2007


Cantu, eu sempre usei esse tipo de atualizacao mas nunca procurei me 
informar, o Firebird faz a serializacao da execucao de triggers ou executa 
paralelamente em transacoes diferentes? isso no caso (lei de murphy) de 2 
transacoes serem comitadas no msm momento...

-- 


Julio Cesar
+353 87 2184139
+353 (0)91 630317


"Carlos H. Cantu (TeamFB)" <listas em warmboot.com.br> 
wrote in message news:601078941.20070321135911 em warmboot.com.br...
Saldos de estoque, na minha opinião, devem ser baixados via trigger no
BD e não na aplicação.

Via trigger na tabela de produtos das notas, com um update do tipo:

update produtos set saldo = saldo - new.qtde
where codprod = new.produto;

Com isso, NUNCA o saldo ficará errado.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

DEBW> Continuo achando que isto não é um problema e continuo
DEBW> acreditando que em uma rotina de banco de dados bem pensada e
DEBW> bem implementada não haveria problemas com lock e alocação de
DEBW> registros. Se houver algum problema (não estou dizendo não deve
DEBW> haver) será uma exceção a regra.

DEBW> -----Mensagem original-----
DEBW> De: lista-bounces em firebase.com.br
DEBW> [mailto:lista-bounces em firebase.com.br] Em nome 
de Renan de Oliveira
DEBW> Enviada em: quarta-feira, 21 de março de 2007 13:11
DEBW> Para: FireBase
DEBW> Assunto: Re: [firebase-br] Concorrência de Acesso

DEBW> Está ok, suponha entao que seja uma baixa do estoque de um produto X 
onde os
DEBW> 500 sao a quantidade em estoque e os outros valores sao as vendas.
DEBW> Dá no mesmo!

DEBW> Renan

DEBW> ----- Original Message ----- 
DEBW> From: "Magno System" <magno em speet.com.br>
DEBW> To: "FireBase" <lista em firebase.com.br>
DEBW> Sent: Wednesday, March 21, 2007 12:42 PM
DEBW> Subject: Re: [firebase-br] Concorrência de Acesso


DEBW> Renan de Oliveira disse:

DEBW> Vamos supor o seguinte exemplo.

DEBW> Dois fulanos estao com a mesma tela de pagamento a ser efetuado de um
DEBW> determinado cliente, com saldo a pagar de 500,00
DEBW> fulano1 - pega o saldo a pagar 500 e desconta um pagamento de 200 
reais,
DEBW> saldo fica de 300,00
DEBW> fulano 2 - pega o saldo a pagar 500 e desconta um pagamento de 100 
reais,
DEBW> saldo fica de 400,00

DEBW> e isso nao pode acontecer, pois o saldo deveria de ser 500 - 200 - 100 
=
DEBW> 200,00

DEBW> Pessoal, vamos ser práticos na vida... Como um cliente vai pagar uma 
conta
DEBW> em dois caixas ao mesmo tempo ? Se vc vai a um estabelecimento 
comercial
DEBW> qualquer e é atendido por um caixa somente ele acessará sua conta.
DEBW> Provavelmente o outro caixa estará inativo ou atendendo outro cliente. 
É a
DEBW> velha teoria da tomada elétrica. A bitola de um fio nunca é calculada
DEBW> baseada na hipótese de estarem todas as luzes acesas e todas as 
tomadas em
DEBW> uso, embora teoricamente seja possível. Mas convenhamos, o bom senso e 
a
DEBW> prática dizem ao contrário. Uma casa mesmo que tenha 30 tomadas,
DEBW> dificilmente terá 10 em uso com aparelhos ligados. Acho que devemos 
pensar
DEBW> assim também em nossos sistemas. Bem, pelo menos é a minha opinião.

DEBW> PS. Se alguém tiver alguma informação sobre o tópico que postei (Dados 
não
DEBW> gravados em 19/03/2007) será de grande valia.
DEBW> ______________________________________________
DEBW> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
DEBW> Para editar sua configuração na lista, use o endereço
DEBW> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
DEBW> Para consultar mensagens antigas: http://firebase.com.br/pesquisa




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

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


______________________________________________
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