Den 2012-01-03 20:14 skrev Woody såhär:
> Maybe I'm a little dense, (probably :), but doesn't FB already know what the
> oldest interesting transaction id is? Why couldn't transaction numbers be
> allowed to wrap back around up to that point? As long as transactions are
> committed at some point, the oldest transaction would move and it would
> solve most problems being run into now, IMO.

As far as I understand, with very limited knowledge about the ods, each 
version of each record contains the id of the transaction that created 
that record version. So, if transaction with id 5 created the record 
version it will say "5" in there, always, as long as that record version 
is still in existence.

Now, old record versions get garbage collected. If the record version is 
not the current one and its id is lower than the OIT, the disk space for 
that record version is marked as free.

But this happens ONLY for transaction version that are not "current". 
Consider a lookup table that's created when the database is created. 
Those records will possibly never change. Same goes for log records. So, 
that old "5" will stay there forever, regardless of the OIT.

Kjell

-- 
--------------------------------------
Kjell Rilbe
DataDIA AB
E-post: kj...@datadia.se
Telefon: 08-761 06 55
Mobil: 0733-44 24 64



------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to