Subject Re: [ib-support] Re: DB-file growth VERY rapidly!??
Author Svein Erling Tysvær
Alex,
your problem has nothing to do with your field types. As Lester and Aage
has told you, there is an old transaction hanging in there somewhere. As
long as that old transaction exists, Firebird will have to retain
information about old values of every record. I.e.

1) You start the first transaction (the one causing you problems)
2) This transaction does something
3) Start another transaction
4) Update records
5) Commit the other transaction
6) Start a third transaction 10 minutes later
7) Update records
8) Commit the third transaction, etc.

But this means that Firebird still has to keep a copy of old values,
because the changes you made are not supposed to be seen by your first
transaction (notice that the first transaction is still open). And Firebird
only cares about the oldest active transaction, although it could have
dropped information about changes made in the second transaction if the
records were changed again in the third transaction, it doesn't. Old
records will never be removed until the first transaction commits or rolls
back and your database grows exceedingly at every update. To confirm that
this is the case, check your database statistics. Let the database grow a
bit, and then check the gap between the Oldest Active Transaction and Next
Transaction. My assumptions are correct if this gap increases every ten
minutes. The only way to solve your problem, it to find your blocking
transaction.

HTH,
Set