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