[firebase-br] Problemas com perda de dados
Campus
campus em sinos.net
Ter Jun 19 11:33:36 -03 2007
Magno, eu procurei no livro da Helem Borrie sobre soft commit, na realidade
vem a ser o CommitRetain.
Verificando o código do Zeos, constatei o que o Eduardo havia falado, o
Zeos, independente de ser AutoCommit ou não, aplica sempre um CommitRetain,
e não um Commit.
A questão é que o CommitRetain grava fisicamente os dados, mas mantém a
transação aberta, sem atualizar a tabela de transações efetivadas (isso é
perigoso), Segundo a Helem, um ComiitRetain é como um SavePoint sem retorno,
ou seja, não é possivel fazer um rollback.
Eu não consegui ler e analisar com a calma nescessária, mas no livro diz que
a transação é fechada e uma nova é aberta, porém com as mesma TID. Nesse
caso, se ocorrer um erro, acredito que a transação toda pode "se perder"
mesmo estando comitada, uma vez que a mesma TID é usada, e nem mesmo a
tabela de transações comitadas ainda não foi atualizada.
Nesse caso, faz-se nescessário alterar os fontes do Zeos para, ou usar o
Commit, no lugar do CommkitRetais, parametrizar o commit, optando-se por
qual se deseja usar, ou criar um novo método, onde pode se usar um ou utro.
----- Original Message -----
From: "Magno System" <magno em speet.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, June 15, 2007 5:28 PM
Subject: Re: [firebase-br] Problemas com perda de dados
Em se tratando do autocommit do zeos, realmente ele pode estar dando um
softcommit(?) como o Eduardo disse. Mas o autocommit, eu só uso em inclusão,
alteração ou deleção de registros em cadastros. Operações mais complexas, eu
uso o controle de transação explícita, ou seja, uso os comandos
starttransaction e commit. E nessas operações, mesmo com controle explícito
de transação, houve perda de dados. Daí a idéia de migrar para o dbx, o que
até agora tem dado resultado.
______________________________________________
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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.472 / Virus Database: 269.8.17/850 - Release Date: 15/06/2007
11:31
Mais detalhes sobre a lista de discussão lista