Subject Re: [firebird-support] How does sweeping works?
Author Dimitry Sibiryakov
> If I understand all the documention about sweeping right,
> deleted row-space is reused for insertion.
> Row-space which was free'd by a rollback only becomes reused if a
> database sweep runs.
> The database size never shrinks (like on VACUUM in other db systems),
> thats only possible with backup&restore.
> ...right?

Wrong. Space is reused after garbage collection, not sweep. Sweep
causes garbage collection, right, but GC may start without sweep.
Sweep is required to clean up badly finished transactions. And sweep
interval doesn't mean number of transactions between two sweeps, but
difference between oldest interested transaction (OIT) and next
transaction numbers. When this gap grows because of badly programmed
client application or accidents, automatic sweep is started, moving (if
possible) OIT marker.

SY, SD.