<br><br><div class="gmail_quote">On Sat, Mar 22, 2008 at 5:11 AM, Ian Eslick <<a href="mailto:eslick@media.mit.edu">eslick@media.mit.edu</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
In the past, we've been able to reclaim instances that were not<br>
reachable from the root or in an indexed object. However, with the<br>
new schema model, all persistent objects are reachable implicitly by<br>
being in the store's oid->class table (i.e. a get-instances-by-class<br>
now works for any persistent class). Thus to reclaim storage you have<br>
to explicitly drop an instance.<br>
<br>
Is this good or bad? It's nice to always be able to reach instances<br>
of a class, but for reclamation we could have a class option which is<br>
something like :weak-class-index t. That is instances may be<br>
reachable by get-instances-by-class but it's not guaranteed after a gc<br>
or migration.</blockquote><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<br>
Anyone have thoughts on this? How should we define reachability in<br>
this new model?</blockquote><div> </div><div>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.<br><br>/Henrik<br>
<br></div></div>