[Zope-dev] Re: circular referenced persistent objects
Casey Duncan
casey at zope.com
Mon Apr 12 12:09:26 EDT 2004
On Mon, 12 Apr 2004 10:57:43 -0500
<zope at netchan.cotse.net> wrote:
> Casey,
>
> Thanks for the clarification.
>
> > > - Is there an equivalent of sys.getrefcount for ZODB persistent
> > > objects?
>
> This is still a question. Is there any way, to determine how many
> times a zodb persistent object is referenced? sys.getrefcount seems to
> tell me only those references which are currently loaded in the
> memory. Also another very interesting question is that who referring
> to a specific object.
Not from a given object. You would need to walk the forward references
(which are tracked) of all the objects to find this out. I posted some
code to do this from any starting object in the ZODB a long time ago.
Search the mail archives if you're interested.
> > > For this I got the oid of the object,
> > > deleted it and than tried to get it back via the oid. The trick
> > > is, that you'll only get a POSKeyError if you pack the database
> > and flush
> > > the cache. This latter one was not obvious for me.
> >
> > Such tricks are not necessary and cause your app to rely too
> > much on the
> > curent implementation of ZODB. Just let the database take care of
> > this for you.
>
> I used this trick only for exploring ZODB behavior. The application
> doesn't do any nasty tricks.
ok.
-Casey
More information about the Zope-Dev
mailing list