[ZODB-Dev] Getting all OIDs from a storage.

Jim Fulton jim at zope.com
Mon Apr 24 10:48:53 EDT 2006


Christian Theune wrote:
> Am Montag, den 24.04.2006, 10:06 -0400 schrieb Jim Fulton:
> 
>>Christian Theune wrote:
>>
>>>Hi,
>>>
>>>we are using Zope 3 generations to update ZODBs. Sometimes the default
>>>tools that traverse the object tree are not covering all bases.
>>>
>>>I opened access to the FileStorage index of OIDs so we can iterate over
>>>those. (We are ignoring exceptions about POSKeyErrors at one point
>>>because we are likely doing something wrong there.)
>>>
>>>As the actual code is in an internal repository I have attached the
>>>relevant code in this mail to let you get an impression on this.
>>>
>>>However, this is not compatible to ZEO installations. Do you think it
>>>would be useful to implement a way of iterating over all objects on any
>>>storage?
>>
>>Absolutely. That has been the plan all along.
>>
>>The api in FileStorage was just a beginning step toward this.
> 
> 
> Hmm. Sorry, but could you point out where the API is defined? I might
> not have looked hard enough. I only found internals to exploit. :(

I wish I could.  I'm almost certain that Chris McDonough implemented
one at PyCon 2005 and that Stephan Richter made use of this, but
I can't find it.

I would like to have this.  I can't find a proposal for it, so I
guess we should start with that,  I'll note that I'd like to have an
interface like:

   oidIterator(class_glob='*')

      Returns an iterable of object ids whose dotted class names
      (module_name.class_name) match the given glob.

Jim


-- 
Jim Fulton           mailto:jim at zope.com       Python Powered!
CTO                  (540) 361-1714            http://www.python.org
Zope Corporation     http://www.zope.com       http://www.zope.org


More information about the ZODB-Dev mailing list