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