Ok, I have a few minutes now to look into this. You're using SBCL - on what platform? -Ian

On May 18, 2008, at 9:52 AM, Leslie P. Polzer wrote:


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

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to