Subject | Re: [firebird-support] Re: Triggers suitability |
---|---|
Author | Ann W. Harrison |
Post date | 2005-10-06T19:56:02Z |
yeohray wrote:
when you modify a record, Firebird creates a new version of the record
and keeps the old one around so that other transactions can continue to
see it. When you delete a record, Firebird creates a new record version
that says that the record is deleted, leaving the old record version.
When your transaction commits and all transactions that were concurrent
with it end, the old versions become uninteresting - useless garbage in
fact. All transactions (and a garbage collect thread) remove
unnecessary old versions of records as they are encountered.
Regards,
Ann
> What exactly is this 'garbage' that everybody's referring to? Thanks.Firebird uses multi-generational concurrency control. That means that
when you modify a record, Firebird creates a new version of the record
and keeps the old one around so that other transactions can continue to
see it. When you delete a record, Firebird creates a new record version
that says that the record is deleted, leaving the old record version.
When your transaction commits and all transactions that were concurrent
with it end, the old versions become uninteresting - useless garbage in
fact. All transactions (and a garbage collect thread) remove
unnecessary old versions of records as they are encountered.
Regards,
Ann