Subject Re[4]: [firebird-support] Difference between Oldest Active and Next Transaction
Author Daniel Rail
Hi,

At June 17, 2003, 17:02, DataCom - Diego Moreira da Rosa wrote:

>> Yes, one transaction that is still open can cause this. When you say
>> "atomic", do you mean that the transaction is opened then comitted for
>> each request and/or insert!

> Exactly. We are using JDBC in auto-commit mode, I mean, all SQL statements
> will be executed and committed as individual transactions. So, how come it
> is possible to have an openned transaction? Do you know any other possible
> reason for the indefinite growth of the database?

If you have a select open on one record and at the same time
performing an insert on that same record, you will have multiple
versions of that record, for as long as both transactions are not
committed. And, that can be one cause of growth of the database that
you are seeing. Also, updating a record can have the same effect.

>>One thing that you also have to remember,
>> that a select that is still open is keeping a transaction open.

> What do you mean exactly by that? Could it be happenning with JDBC?

I'm not quite sure how JDBC works. But using fbclient.dll, as long as
I have the select open(still retrieving data from the server, even if
it's record by record), the transaction is still open, as long as you
don't close the select. If you have auto-commit activated, as soon as
you close the select, the transaction is committed.

--
Best regards,
Daniel Rail
Senior System Engineer
ACCRA Group Inc. (www.accra.ca)
ACCRA Med Software Inc. (www.filopto.com)