[firebase-br] RES: commitretaining
Eduardo Jedliczka (TeamFB)
jedyfb em gmail.com
Ter Set 26 17:50:45 -03 2006
Commit Retaining não é SAVE POINT.
Commit Retaining é um hard-commit que retém o DataSet.
Se você quer que seja feito tudo ou não seja feito nada, é muito simples:
Try
ExecProc1;
ExecProc2;
Commit;
except
Rollback;
end;
======================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - PR
======================
"Posso não concordar com nada do que dizes.
Mas defenderei até a morte o seu direito de dizê-lo"
(Voltaire 1694-1778)
----- Original Message -----
From: "wilton em wos" <wilton em wosinformatica.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, September 26, 2006 5:30 PM
Subject: [firebase-br] RES: commitretaining
Sim, mas no meu caso, quero fazer um bloco de procedimentos (São vários),
que sejam efetivamente realizados ou todos rejeitados.
Garantindo assim a integridade do processo... ta acontecendo de gravar uns e
outros não. Daí estar optando por essa solução... qual a melhor estrutura
para gravar vários arquivos entro de uma transaction???
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Fortes Marcelo
Enviada em: terça-feira, 26 de setembro de 2006 15:51
Para: FireBase
Assunto: Re: [firebase-br] commitretaining
O ideal é você ter uma transação para InterBase e Firebird
o mínimo de tempo necessário.
O problema é que um commit ou um rollback fecham seus
datasets, não é isso?
Então você está optando por commitretaining e
rollbackretaining
Em que a transação não é fechada realmente.
E acaba por criar um problema de performance, por isso,
não muito indicados.
No caso tente desenhar sua aplicação para estilo
Client/Server onde só um punhado pequeno de registros são
processados por vez, mas isso sana só parcialmente o
problema por que as veze fica chato mapear vários datasets
que estão fechados para abrirem etc...
Como suponho que estej usando IBX te indico que opte por
FIB Plus da devrace www.devrace.com, que são primos do ibx
melhorados, inclusive no Fib-plus você pode tem uma transação
só para leitura e outra pros updates, inserts, delets que
acaba com o problema de de deixar a transação aberta por
muito tempo, pois aí você dá um commit a cada update ou insert
ou delete.
O IBO também gerencia isso de forma bem elegante e inteligente
mas perde a compatibilidade com outros componentes.
Leia mais na seção artigos da www.firebase.com.br e você encon
trará dicas valiosas!
Marcelo Fortes.
No seu caso Basta ou o segundo se você quer todos os dois
procesos num batch só.
Try
ExecProc1;
Commitretaining;
Except
Rollbackretaining;
End;
Try
ExecProc2;
Commitretaining;
Except
Rollbackretaining;
End;
Commmit;
"wilton em wos" <wilton em wosinformatica.com.br> escreveu: Olá galera, preciso
tirar uma duvida meio sinistra... como devo aplicar o
commitretaining, qual das estruturas é mais adequada??
Estrutura 1:
Startransaction;
Try
Try
ExecProc1;
Commitretaining;
Except
Rollbackretaining;
End;
Try
ExecProc2;
Commitretaining;
Except
Rollbackretaining;
End;
Commmit;
Except
Roolback;
End;
Estrutura 2:
Startransaction;
Try
ExecProc1;
Commitretaining;
ExecProc2;
Commitretaining;
Commmit;
Except
Roolback;
End;
Atenciosamente
Wilton de Oliveira
______________________________________________
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
---------------------------------
Yahoo! Search
Música para ver e ouvir: You're Beautiful, do James Blunt
______________________________________________
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
______________________________________________
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