[ZODB-Dev] Missing loader for multidatabase refs?

Dieter Maurer dieter at handshake.de
Fri Mar 30 17:30:05 EDT 2007


Jim Fulton wrote at 2007-3-30 11:13 -0400:
> ...
>>> - A non-GC pack that got rid of old records but didn't bother with  
>>> GC.
>>>    This would be advantagious for lots of folks independent of cross-
>>> database reference issues.
>>
>> Sounds like this would be the easiest way to solve the above issue?
>
>It is a fairly straightforward way, depending on the application.   
>Unfortunately, it's probably non-trivial, as the FileStorage packing  
>code is fairly intense. :)

I expect it to be quite easy:

  The packing code consists roughly of two phases:
  
    * the analysis phase determines which oids are reachable from the root

    * the copying phase copies transactions to the new (packed) storage
      omitting object records that are older than the packing time
      and not the current record for a reachable object.

If we skip the analysis phase and use the set of all known objects
as set of "reachable objects", we would get the new function.


However, this packing would never delete an object.
Once created, an object would never be removed from a storage (only
its non current states).



-- 
Dieter


More information about the ZODB-Dev mailing list