After looking into this for way too long...It turns out I'm a complete idiot : I forgot SBCL had been updated at the same time I changed my code to split store controllers, and I was running into the MOP issue of new SBCL versions.
All my apologies. > Hi all, > > I'm trying to use two (BDB) store controllers, each with its own set of > persistent classes. The reason is that I want to be able to modify the > secondary store outside the application (it's read-only within it) and > just plug-in a modified version (close-store, change directory, > open-store) at some point without affecting the rest of the data. > > If I just use a let binding to set *store-controller* to the secondary > store around make-instance and get-instances-by-class, everything works, > except I can see the class index is stored in the main store-controller, > which is not good, as I want the secondary store to be independant. > > If I set the global *store-controller* to the secondary controller after > having opened both, and even close the first one to make sure before I > call defpclass or any other elephant function, the class index is created > in the right store-controller this time, but I get a new one each time I > open the store (empty btree with a new oid). > > I have tried understanding and tracing the related parts of code, but that > part is not exactly easy to dive in for an elephant noob, so I was hoping > that someone familiar with the code could explain what's happening, or > that someone would have a trick for using multiple store controllers in > this fashion. > > Thanks a lot, > Arnaud > > > > > _______________________________________________ > 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