[elephant-devel] Multiple store controllers, with each its own set of classes

Arnaud Betremieux arno at arnoo.net
Mon Sep 26 12:34:54 UTC 2011


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






More information about the elephant-devel mailing list