Subject | Re: [firebird-support] Re: Any SELECT or UPDATE transaction increases size of data base in 2 bits |
---|---|
Author | Ann W. Harrison |
Post date | 2006-12-18T20:53:34Z |
gray_area_2 wrote:
changes that should not be seen by other transactions and should be
garbage collected. Restarting the server doesn't get rid of those
changes. A sweep does, and in theory, with some work we could
recognize when a TIP is completely committed and release it. However,
the current mechanism for finding the appropriate TIP for a transaction
depends on the sequence. Sure, we could fake it, but the saving is
relatively small (in the cases we've thought about) and the damage
that a bug could do in that area is huge (consider applying the states
from the wrong page - committed records would disappear, rolled back
records would reappear) and the changes of a bug are above zero
(consider the read-only problem).
Maybe you've got a case where a 2 bit per transaction growth is
critical?
Regards,
Ann
>Transactions that rolled back may have left changes in the database -
> Is here a way to avoid this TIP growth? I have tried to reopen
> connection, doesn't help.
changes that should not be seen by other transactions and should be
garbage collected. Restarting the server doesn't get rid of those
changes. A sweep does, and in theory, with some work we could
recognize when a TIP is completely committed and release it. However,
the current mechanism for finding the appropriate TIP for a transaction
depends on the sequence. Sure, we could fake it, but the saving is
relatively small (in the cases we've thought about) and the damage
that a bug could do in that area is huge (consider applying the states
from the wrong page - committed records would disappear, rolled back
records would reappear) and the changes of a bug are above zero
(consider the read-only problem).
Maybe you've got a case where a 2 bit per transaction growth is
critical?
Regards,
Ann