Persistent classes in the current model aren't easy to fully delete - you can only make the unreachable by having no reference to them reachable from the controller or class roots. You can drop an object from the index and there is a way to delete the object from the main system BTree - but until 4.4 you couldn't reclaim that space (unless it happened to be reused opportunistically). In 4.4 you can compact the DB, but elephant does not take advantage of this yet.
Ideally there would be an automated way to 'migrate' which is a stop-and-copy model of GC - everything reachable from the controller and class roots gets copied, anything that isn't reachable stays in the old DB. This compacts and cleans the DB. I hope that we'll clean up the model of space reclamation and provide something akin to GC in the not too distant future. It's not a high priority in large part because on-disk space has little implication on in-memory space and disk is ~ free. (Although I do suffer from too many backup copies of my 6GB DB - fortunately I just upgraded my computer and doubled my hard drive space so I'm OK for a awhile longer!) Ian Pierre THIERRY wrote: > Scribit Daniel Salama dies 13/11/2006 hora 21:00: > >> So, if I make my class persistent, it's persistent... period! I don't >> need to add it to a collection or to the root. >> > > Well, I did not know that before that discussion. I think it's not > clearly indicated in the docs... > > And then I wonder: if I use persistent classes, how do I remove an > object from the store? > > Curiously, > Nowhere man > > ------------------------------------------------------------------------ > > _______________________________________________ > elephant-devel site list > elephant-devel@common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel