<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.3.2">
</HEAD>
<BODY>
Dear Kilian,<BR>
<BR>
Thanks for trying this on openmcl. This code works for me under SBCL 9.5. As we <BR>
all know, CLOS-related stuff like this tends to be more dissimilar between list implementations<BR>
than other parts of LISP. Since this works under SBCL and has not been reported under<BR>
any other implementation, it might be an implementation-specific problem. Unfortunately,<BR>
I don't have a PPC machine on which to attempt to duplicate this problem.<BR>
<BR>
I will be happy to help you debug this, if you are interested (Waldo Rubinstein maybe <BR>
even more interested!)<BR>
As a first step, we need to establish what the test regime does under your OpenMCL.<BR>
As you may know, Elephant comes with 106 tests (some of which involve data migration).<BR>
I wouldn't claim they are exhaustive but they are far better than nothing. If you are <BR>
willing to take a few extra minutes, please execute this and send me the transcript:<BR>
<BR>
(asdf:operate 'asdf:load-op :elephant)<BR>
(asdf:operate 'asdf:load-op :ele-bdb)<BR>
(asdf:operate 'asdf:load-op :elephant-tests)<BR>
(in-package "ELEPHANT-TESTS")<BR>
(setq *test-path-primary* *testdb-path*)<BR>
(setq *test-path-secondary* nil)<BR>
(do-all-tests-spec *test-path-primary*)<BR>
<BR>
(on my computer, the actual test execution takes 31 seconds.)<BR>
<BR>
On Sat, 2006-01-07 at 19:55 +0100, ml13@onlinehome.de wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Hi,</FONT>
<FONT COLOR="#000000">while looking at the tutorial, I always get an error while trying to </FONT>
<FONT COLOR="#000000">work with secondary indices.</FONT>
<FONT COLOR="#000000">I am doing this on openmcl "Version 1.0 (DarwinPPC32)" with BDB4.3.</FONT>
<FONT COLOR="#000000">It looks like the bdb-indexed-tree does not have enough slots??</FONT>
<FONT COLOR="#000000">Anyway, I am very happy to see that elephant has developed so much!!</FONT>
<FONT COLOR="#000000"> Kilian Sprotte</FONT>
<FONT COLOR="#000000">ELE> (defclass appointment ()</FONT>
<FONT COLOR="#000000"> ((date :accessor ap-date :initarg :date :type integer)</FONT>
<FONT COLOR="#000000"> (type :accessor ap-type :initarg :type :type string))</FONT>
<FONT COLOR="#000000"> (:metaclass persistent-metaclass))</FONT>
<FONT COLOR="#000000">#<PERSISTENT-METACLASS APPOINTMENT></FONT>
<FONT COLOR="#000000">ELE> (defparameter *appointments* (with-transaction () (build-indexed- </FONT>
<FONT COLOR="#000000">btree s)))</FONT>
<FONT COLOR="#000000">*APPOINTMENTS*</FONT>
<FONT COLOR="#000000">(add-appointment (encode-universal-time 0 0 0 22 12 2004) "Birthday")</FONT>
<FONT COLOR="#000000">Array index 4 out of bounds for #<SLOT-VECTOR #x8D6863E> .</FONT>
<FONT COLOR="#000000"> [Condition of type SIMPLE-ERROR]</FONT>
<FONT COLOR="#000000">Restarts:</FONT>
<FONT COLOR="#000000"> 0: [ABORT-REQUEST] Abort handling SLIME request.</FONT>
<FONT COLOR="#000000"> 1: [ABORT-BREAK] Reset this process</FONT>
<FONT COLOR="#000000"> 2: [ABORT] Kill this process</FONT>
<FONT COLOR="#000000">Backtrace:</FONT>
<FONT COLOR="#000000"> 0: (#<CCL::STANDARD-KERNEL-METHOD SLOT-VALUE-USING-CLASS (STANDARD- </FONT>
<FONT COLOR="#000000">CLASS T STANDARD-EFFECTIVE-SLOT-DEFINITION)> #<PERSISTENT-METACLASS </FONT>
<FONT COLOR="#000000">BDB-INDEXED-BTREE> '(ADD-APPOINTMENT (ENCODE-UNIVERSAL-TIME 0 0 0 22 </FONT>
<FONT COLOR="#000000">12 2004) "Birthday") #<STRING-INPUT-STREAM #x8D66486>)</FONT>
<FONT COLOR="#000000"> Locals:</FONT>
<FONT COLOR="#000000"> CLASS = #<PERSISTENT-METACLASS BDB-INDEXED-BTREE></FONT>
<FONT COLOR="#000000"> CCL::SLOT-VECTOR = #<SLOT-VECTOR #x8D6863E></FONT>
<FONT COLOR="#000000"> 1: (#<STANDARD-METHOD (SETF GET-VALUE) (T T BDB-INDEXED-BTREE)> </FONT>
<FONT COLOR="#000000">#<APPOINTMENT #x8D662CE> 3312658800 #<BDB-INDEXED-BTREE #x8D6862E>)</FONT>
<FONT COLOR="#000000"> Locals:</FONT>
<FONT COLOR="#000000"> VALUE = #<APPOINTMENT #x8CABF7E></FONT>
<FONT COLOR="#000000"> KEY = 3312658800</FONT>
<FONT COLOR="#000000"> BT = #<BDB-INDEXED-BTREE #x8CAC106></FONT>
<FONT COLOR="#000000"> SC = #<BDB-STORE-CONTROLLER #x8C7E0BE></FONT>
<FONT COLOR="#000000"> 2: (ADD-APPOINTMENT 3312658800 "Birthday")</FONT>
<FONT COLOR="#000000"> Locals:</FONT>
<FONT COLOR="#000000"> DATE = 3312658800</FONT>
<FONT COLOR="#000000"> TYPE = "Birthday"</FONT>
<FONT COLOR="#000000"> ENV = #<A Mac Pointer #x180E000></FONT>
<FONT COLOR="#000000"> #:G541 = 1</FONT>
<FONT COLOR="#000000"> #:G543 = NIL</FONT>
<FONT COLOR="#000000"> #:G540 = #<A Mac Pointer #x309450></FONT>
<FONT COLOR="#000000"> *CURRENT-TRANSACTION* = #<A Null Mac Pointer></FONT>
<FONT COLOR="#000000"> *AUTO-COMMIT* = T</FONT>
<FONT COLOR="#000000"> #:G546 = #<BDB-INDEXED-BTREE #x8CAC106></FONT>
<FONT COLOR="#000000"> Catch-tags:</FONT>
<FONT COLOR="#000000"> NIL</FONT>
<FONT COLOR="#000000"> SLEEPYCAT::TRANSACTION</FONT>
<FONT COLOR="#000000"> </FONT>
<FONT COLOR="#000000">_______________________________________________</FONT>
<FONT COLOR="#000000">elephant-devel site list</FONT>
<FONT COLOR="#000000"><A HREF="mailto:elephant-devel@common-lisp.net">elephant-devel@common-lisp.net</A></FONT>
<FONT COLOR="#000000"><A HREF="http://common-lisp.net/mailman/listinfo/elephant-devel">http://common-lisp.net/mailman/listinfo/elephant-devel</A></FONT>
</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>