[elephant-devel] secondary indices

Robert L. Read read at robertlread.net
Tue Jan 10 22:06:42 UTC 2006


Dear Kilian,

    Thanks for trying this on openmcl.  This code works for me under
SBCL 9.5.  As we 
all know, CLOS-related stuff like this tends to be more dissimilar
between list implementations
than other parts of LISP.  Since this works under SBCL and has not been
reported under
any other implementation, it might be an implementation-specific
problem.  Unfortunately,
I don't have a PPC machine on which to attempt to duplicate this
problem.

    I will be happy to help you debug this, if you are interested (Waldo
Rubinstein maybe 
even more interested!)
    As a first step, we need to establish what the test regime does
under your OpenMCL.
As you may know, Elephant comes with 106 tests (some of which involve
data migration).
I wouldn't claim they are exhaustive but they are far better than
nothing.  If you are 
willing to take a few extra minutes, please execute this and send me the
transcript:

(asdf:operate 'asdf:load-op :elephant)
(asdf:operate 'asdf:load-op :ele-bdb)
(asdf:operate 'asdf:load-op :elephant-tests)
(in-package "ELEPHANT-TESTS")
(setq *test-path-primary* *testdb-path*)
(setq *test-path-secondary* nil)
(do-all-tests-spec *test-path-primary*)

(on my computer, the actual test execution takes 31 seconds.)

On Sat, 2006-01-07 at 19:55 +0100, ml13 at onlinehome.de wrote:

> Hi,
> 
> while looking at the tutorial, I always get an error while trying to  
> work with secondary indices.
> 
> I am doing this on openmcl "Version 1.0 (DarwinPPC32)" with BDB4.3.
> 
> It looks like the bdb-indexed-tree does not have enough slots??
> 
> Anyway, I am very happy to see that elephant has developed so much!!
> 
> 		Kilian Sprotte
> 
> 
> ELE> (defclass appointment ()
>           ((date :accessor ap-date :initarg :date :type integer)
>            (type :accessor ap-type :initarg :type :type string))
>           (:metaclass persistent-metaclass))
> #<PERSISTENT-METACLASS APPOINTMENT>
> 
> ELE> (defparameter *appointments* (with-transaction () (build-indexed- 
> btree s)))
> *APPOINTMENTS*
> 
> (add-appointment (encode-universal-time 0 0 0 22 12 2004) "Birthday")
> 
> Array index 4 out of bounds for #<SLOT-VECTOR  #x8D6863E> .
>     [Condition of type SIMPLE-ERROR]
> 
> Restarts:
>    0: [ABORT-REQUEST] Abort handling SLIME request.
>    1: [ABORT-BREAK] Reset this process
>    2: [ABORT] Kill this process
> 
> Backtrace:
>    0: (#<CCL::STANDARD-KERNEL-METHOD SLOT-VALUE-USING-CLASS (STANDARD- 
> CLASS T STANDARD-EFFECTIVE-SLOT-DEFINITION)> #<PERSISTENT-METACLASS  
> BDB-INDEXED-BTREE> '(ADD-APPOINTMENT (ENCODE-UNIVERSAL-TIME 0 0 0 22  
> 12 2004) "Birthday") #<STRING-INPUT-STREAM  #x8D66486>)
>        Locals:
>          CLASS = #<PERSISTENT-METACLASS BDB-INDEXED-BTREE>
>          CCL::SLOT-VECTOR = #<SLOT-VECTOR  #x8D6863E>
>    1: (#<STANDARD-METHOD (SETF GET-VALUE) (T T BDB-INDEXED-BTREE)>  
> #<APPOINTMENT #x8D662CE> 3312658800 #<BDB-INDEXED-BTREE #x8D6862E>)
>        Locals:
>          VALUE = #<APPOINTMENT #x8CABF7E>
>          KEY = 3312658800
>          BT = #<BDB-INDEXED-BTREE #x8CAC106>
>          SC = #<BDB-STORE-CONTROLLER #x8C7E0BE>
>    2: (ADD-APPOINTMENT 3312658800 "Birthday")
>        Locals:
>          DATE = 3312658800
>          TYPE = "Birthday"
>          ENV = #<A Mac Pointer #x180E000>
>          #:G541 = 1
>          #:G543 = NIL
>          #:G540 = #<A Mac Pointer #x309450>
>          *CURRENT-TRANSACTION* = #<A Null Mac Pointer>
>          *AUTO-COMMIT* = T
>          #:G546 = #<BDB-INDEXED-BTREE #x8CAC106>
>        Catch-tags:
>          NIL
>          SLEEPYCAT::TRANSACTION
>   
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060110/9273649c/attachment.html>


More information about the elephant-devel mailing list