[Zope] ZODB - cleaning up mistakes

Toby Dickenson tdickenson@geminidataloggers.com
Fri, 27 Sep 2002 08:05:15 +0100


On Thursday 26 Sep 2002 6:54 pm, Paul Winkler wrote:

> Now I've got a list of the 120 most recent undoable transactions, sorte=
d
> by time (starting with most recent).

correct.

> What am I missing?

no idea. :(

> > > So, knowing the ID of the object, is there a way to
> > > find a valid reference to it so I can do a real _delObject()
> > > on it?
> >
> > Why do you think that will help?
>
> Because that's what I'm really trying to do.
> I asked if >>> del(app.marketing)   would delete sub-objects of marketi=
ng,
> and was told no, they're still in my ZODB. There's about 10-20 MB of
> this crap that I can't get at now, and I want it gone.

If you want to recover the disk space then all you have to do is pack.


> *If* I can undo the del(), then I can do a proper
> manage_deleteObjects([marketing]) which I think will get rid of the
> sub-objects.

Yes, it will 'properly' get rid of them. That means notifying all contain=
ed=20
objects that they are about to be deleted so that, for example, they can=20
remove themselves from a ZCatalog. However it wont immediately reduce dis=
k=20
space - even a manage_deleteObjects can be undone..... until you pack.