> That's interesting. I'll have to look into that further because any > existing database should either have the btree already or create it on > startup...
Either the approach from my last mail was faulty, or some other thing is afoul; the next open-store threw a deserialization error related to this: 0: (ELEPHANT::DESERIALIZE #S(ELEPHANT-MEMUTIL:BUFFER-STREAM :BUFFER #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X08084C28 :TYPE (* (UNSIGNED 8))> :SIZE 76 :POSITION 76 :LENGTH 80) #<BDB-STORE-CONTROLLER /home/sky/projects/mystic/backup-world.bdb/> NIL) 1: ((SB-PCL::FAST-METHOD ELEPHANT::PERSISTENT-SLOT-READER (DB-BDB::BDB-STORE-CONTROLLER T T)) #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument> #<unavailable argument>) 2: (SLOT-VALUE #<BDB-INDEXED-BTREE oid:-3> DB-BDB::INDICES) 3: ((SB-PCL::FAST-METHOD SHARED-INITIALIZE :AFTER (DB-BDB::BDB-INDEXED-BTREE T)) #<unavailable lambda list>)[:EXTERNAL] [...] > yes, add-class-derived-index has been deprecated in favor of a > defclass form. There is a more detailed e-mail I sent out on this > awhile back with some of the tradeoffs and the rationale behind the > decisions. I remember the discussion, but I could't remember anything about the new interface. Thanks for explaining! > ((slot1 :accessor slot1) > (slot2 :accessor slot2) > (dslot :accessor dslot :derived-fn 'my-fn :slots-deps (slot1 slot2))) > > my-fn is the usual derived index key function. Very good, the old API was quite clumsy to work with. Leslie _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel