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