Subject Re: [firebird-support] difference between gbak and gfix -sweep ?
Author Ann W. Harrison
svanderclock wrote:
> what the difference between doing
> gbak {without the -g inhibit garbage collection} and gfix -sweep (except the fact that gback backup also the data) ?

One difference is that gbak will produce a backup file. The
other is that gfix -sweep will reset the "oldest interesting
transaction", which is the number of the oldest transaction
that did not commit - normally the oldest transaction in the
system that made changes and rolled back. That transaction
is "interesting" because all records created by older transactions
are known to be committed. When Firebird reads records from
newer transactions, it has to check the transaction status.
Because sweep reads every record and removes rolled back record
versions, it can reset the "oldest interesting". Note that if
you have transactions left in "limbo" - half way through a two
phase commit - they are not cleaned up and remain interesting
after a sweep.