[elephant-devel] Querying Advice

Ian Eslick eslick at csail.mit.edu
Tue Nov 14 14:04:24 UTC 2006


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 at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel



More information about the elephant-devel mailing list