I should have said ":weak allows map-class over any class instances not explicitly deleted or GC'd"

Ian

On Mar 22, 2008, at 11:47 AM, Ian Eslick wrote:
Good suggestion!

I implemented this via the original :index class option which is 't' by default but can also be 'nil' (asserts an error on get-instances- by-class/map-class) and ':weak' which inhibits copying class elements that aren't reachable from root during migration, but allows map-class for any non-deleted class. When we have an online GC solution map-class will operate with the same semantics as weak arrays/hashes.

Ian

On Mar 22, 2008, at 8:20 AM, Henrik Hjelte wrote:


On Sat, Mar 22, 2008 at 5:11 AM, Ian Eslick <[EMAIL PROTECTED]> wrote:
In the past, we've been able to reclaim instances that were not
reachable from the root or in an indexed object.  However, with the
new schema model, all persistent objects are reachable implicitly by
being in the store's oid->class table (i.e. a get-instances-by-class
now works for any persistent class). Thus to reclaim storage you have
to explicitly drop an instance.

Is this good or bad?  It's nice to always be able to reach instances
of a class, but for reclamation we could have a class option which is
something like :weak-class-index t.  That is instances may be
reachable by get-instances-by-class but it's not guaranteed after a gc
or migration.



Anyone have thoughts on this?  How should we define reachability in
this new model?

I think this is a good idea. In some cases you might *not* want the instances to be reached, there could be an option for that as well such as :class-indexed nil.

/Henrik

_______________________________________________
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

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to