[firebase-br] Sempre commitar todos os Selects

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Ter Ago 5 14:03:06 -03 2008


Quando ao IBO, tudo depende de como vc configurou os componentes.
Coloque um TIB_Monitor e vc verá todos os comandos que estão
trafegando. Se tiver um COMMIT depois que vc fechou a query, então ele
fechou a transação.

Quanto ao Firebird, não tem como o FB adivinhar que vc não
vai usar mais a transação, e fechar ela automaticamente.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
Blog - http://blog.firebase.com.br

DdSG> Pessoal,

DdSG> Já foi falado anteriormente aqui na lista sobre a necessidade em fechar a
DdSG> transação de todo e qualquer select com um commit ou rollback, a fim de
DdSG> evitar o acúmulo de transações abertas, causando perda de desempenho.

DdSG> Não quero reabrir o assunto, mas queria deixar essa questão sem dúvidas.

DdSG> Se eu dou um "close" no componente (no meu caso o TIB_Query do IBO) que tem
DdSG> um select ativo, a transação realmente continua aberta no banco?  É
DdSG> realmente necessário mandar fechar a transação?

DdSG> Se realmente for necessário, qual o motivo do firebird manter essa transação
DdSG> em aberto se ela pode ser fechada de forma indiferente com um commit ou
DdSG> rollback?
DdSG> Manter uma transação aberta para um update, insert, etc., é bem lógico pois
DdSG> com isso temos o poder de confirmar ou cancelar a transação.

DdSG> Pelo meu ver, se o select não está mais ativo, não faz sentido o firebird
DdSG> manter esta transação...

DdSG> Por favor, ajudem-me a entender esta situação.


DdSG> abs
DdSG> ~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^
DdSG> Denis da Silva Guerra





Mais detalhes sobre a lista de discussão lista