[firebase-br] CommitRetaining

Vinícius Schwambach Velten vsvelten em bol.com.br
Sex Jun 17 11:37:19 -03 2005


OK. João Henrique, muito obrigado pela dica!

----- Original Message ----- 
From: "João Henrique de Souza" <joao.henrique em jvsind.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, June 17, 2005 10:25 AM
Subject: Re: [firebase-br] CommitRetaining


Olá... não sou o Cantu mas posso te dar uma dica...

Creio q o problema de inchaço é exatamente por vc estar usando o Commit
Retaining, pois ele não fecha "efetivamente" a transação evitando o Garbage
Collection.

A saída é vc trocar no seu sistema os CommitRetaining e RollBackRetaining
por somente Commit e Rollback.

Porém vc irá se deparar com outro problema:
A TABELA É FECHADA QUANDO SE UTILIZA SÓ O COMMIT.

Sim, porém existe maneiras de contornar isso:
1- Se vc usa IBO basta mudar a propriedade CommitAction para
CaInvalidateCursor... só isso :)
2- Se vc não utiliza IBO vc terá que reabrir as tabelas quando der o Commit
correto? Porém elas não estarão posicionadas no registro que vc acabou de
alterar (por exemplo).

Nesse caso vc pode utilizar BookMarks para guardar a posição do registro
antes de salvar e após vc reabrir a tabela vc reposicionar o mesmo.

Já utilizei Bookmarks com DBX e IBX na época que nao trabalhava com IBO, e
sempre resolveu meu problema. Não sei dizer se os componentes MDO teriam um
outro recurso para contornar isso.

Vc terá um pouco de trabalho, mas vejo necessário vc substituir o
CommitRetaining e RollBackRetaining de sua aplicação por simples Commit e
Rollback e criar esse processo que te falei.... q é um pouco trabalhoso.

Bom... essa seria a minha solução... porém na lista temos proficionais mais
experientes que podem dar uma solução mais fácil.

Boa Sorte
[]´s
João Henrique


----- Original Message ----- 
From: "Vinícius Schwambach Velten" <vsvelten em bol.com.br>
To: "Carlos H. Cantu" <listas em warmboot.com.br>; "FireBase"
<lista em firebase.com.br>
Sent: Friday, June 17, 2005 9:50 AM
Subject: Re: [firebase-br] CommitRetaining


Cantu.

Estou tendo um problema de inchaço da base de dados em meu sistema, utilizo
o commit retaining para finalizar transações em uma aplicação de frente de
loja (PDV). Conforme tinha lido em seu livro a respeito de transações, toda
a transação deve iniciada e fechada  com um commit ou rollback, porém,
verifiquei todas as transações e, todas eram iniciadas e fechadas, só que
utilizando o commit retaining.

Meu problema não se resolveu, apesar de estar encerrando todas as transações
utilizando o commit retaining,  e a base de dados do meu cliente continua
inchando horrores! A cada quinze dias estou tendo que ir no cliente e
efetuando um backup e um restore. Resumindo, como fazer para fechar as
transações? Existe algum artifício para utilizar para encerrar as transações
mesmo utilizando o commit retaining? Enfim, como devo proceder para resolver
este problema de sobrecarga do banco?

obrigado pela atenção dispensada.

Vinícius Schwambach Velten - Desenvolvedor de sistemas - VWM Sistemas Ltda.

messenger: vsvelten em bol.com.br
Skipe: vsvelten



----- Original Message ----- 
From: "Carlos H. Cantu" <listas em warmboot.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, June 17, 2005 8:53 AM
Subject: Re: [firebase-br] CommitRetaining


O commitretaing não "fecha" a transação, portanto se ela ficar aberta
por muito tempo, impede a garbage collection e pode sobrecarregar o
servidor.

[]s
Cantu
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

mdds> Bom dia,

mdds>   Obrigado pela resposta.
mdds>   Gostaria de saber se existe problema de usar "commit retaining" em
um
mdds> ambiente muito concorrido (mais de 50 usuários usando o sistema
mdds> simultaneamente)?

mdds> Sem mais,

mdds> ----------------------
mdds> Marlon David de Souza
mdds> Desenvolvimento
mdds> Sysmo Informática Ltda



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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.bavs.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.bavs.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