[firebase-br] Transacoes no DBExpress (Conclusao)

Pha-Lista lista em pha.com.br
Qui Maio 19 07:37:38 -03 2005


Acho que nao e um Bug, e assim que ele funciona, com nao ha uma transacao iniciada pelo desenvolvedor, o DBExpress nao sabe quando pode fechar a mesma ( ele nao tem um controle sobre as transacoes como o IBO tem) por isso ele utilizar CommitRetain.

Quanto a propriedade acho que so vale para as transacoes Iniciadas e Finalizadas explicitamente, o DataSetProvider inicia/fecha uma automaticamente se nao houver, e esta transacao e finalizada com Commit/RollBack. 

PHA
Nova Odessa / SP - Brazil

-----Mensagem original-----
From: "Paulo Geloramo" paulogeloramo em terra.com.br
Date: Wed, 18 May 2005 19:59:59 -0300
To: "FireBase" lista em firebase.com.br
Subject: Re: [firebase-br] Transacoes no DBExpress (Conclusao)

> No SQLConnection pode setar a propriedade CommitRetain = False,
> mas não funciona, este bug já foi reportardo a Borland e ainda continua
> em aberto:
> 
> http://qc.borland.com/wc/qcmain.aspx?d=11148
> 
> []s
> Paulo Geloramo
> 
> 
> -----Mensagem Original----- 
> De: "Pha-Lista" <lista em pha.com.br>
> Para: "FireBase" <lista em firebase.com.br>
> Cc: <cflp_suporte em yahoogrupos.com.br>
> Enviada em: quarta-feira, 18 de maio de 2005 15:50
> Assunto: [firebase-br] Transacoes no DBExpress (Conclusao)
> 
> 
> > Analizando as transacoes com o GStart -h
> >
> > Cheguei as seguintes conclusoes.
> >
> > 1) O DBExpress executa um Commit e nao o CommitRetainig isso pode ser 
> > verificado no TSQLMonitor (
> > isc_commit_transaction).
> >
> > 2) Mais se uma consulta e executada no banco e nao ha nenhum transacao 
> > iniciada e criada uma internamente e esta transacao de leitura fica em 
> > aberto (isc_commit_retaining) ate que o banco seja desconectado.
> >
> > - Nao sei dizer se depois de algum tempo esta transacao e finalizada.
> >
> > - Como esta transacao geralmente e apenas para leitura, nao sei o quanto 
> > ele afeta no desempenho do FB, para os Updates uma transacao e iniciada e 
> > finaliza com Commit ou RollBack, isso e feito automaticamente pelo metodos 
> > PSStartTransaction, PSEndTransaction e PSInTransaction do TSQLDataSet ou 
> > manualmente pelo desenvolvedor.
> >
> > - Pode se evitar que a transacao de leitura fique aberta iniciando uma 
> > transacao para fazer as consultas e depois finalizando a com Commit, tem 
> > tambem a propriedade SQLDataSet1.TransactionLevel, que pode ser utilizada 
> > para indicar qual a transacao a ser utilizada, por padrao e 0 e a ultima 
> > transacao ativa e utilizada.
> >
> > 3) Com algumas mudancas nos componentes do DBExpress ele pode facilmente 
> > trabalhar como o IBX e o MDO com relacao as transacoes (quem sabe no 
> > futuro crio componentes descentes que trabalhem desta forma).
> >
> > Os teste foram feitos:
> >
> > Windows XP Professional SP 2 super atualizado
> >
> > FB 1.5.2 SS com o CollatePT_BR instalado na mesma maquina
> > Conexao=localhost:C:\Arquivos de programas\Firebird\examples\EMPLOYEE.FDB
> >
> > Delphi 6 UP 2 RTL 3
> > Componetes: TSQLConnection, TSQLDataSet, TSQLMonitor, TClientDataSet e 
> > TDataSetProvider
> >
> > LibraryName=dbexpint.dll
> > VendorLib=GDS32.DLL
> >
> > PHA
> > Nova Odessa / SP - Brazil
> >
> >
> >
> >
> 
> 
> 
> ______________________________________________
> 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