Subject Re: [firebird-support] Re: Implement maximum database size
Author Ann W. Harrison
Woody wrote:
>
> The problem with size is that it's not an indication of the actual
> amount of data. Deletions only remove the record from view, not from the
> database file itself. That only happens when you backup and restore.
>

Err, to be completely clear, when you delete a record, you actually
create a new version of the record with the deleted bit set, and no
data stored. So deleting records makes the database grow. When the
delete is committed and all transactions that could see the old version
have finished, then space used by the old record version and the
deleted stub is released to the database for reuse in the same table.
When a whole page goes empty, it is released to the database for
reuse in any capacity.

What I'm trying to emphasize here is that the space that was occupied
by a record that's been deleted will eventually be reused to hold new
records. It's not left empty and idle until a backup/restore.

Best regards,


Ann