[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