[elephant-devel] secondary indices

Robert L. Read read at robertlread.net
Wed Jan 11 12:41:49 UTC 2006


Well the test should all pass.

However, this is not as bad as it seems; the 52 failures don't represent
52 SEPARATE failures,
but a failure, probably something simple, but hard-to-find, in the
indexing, which causes all the 
following tests to fail.


On Tue, 2006-01-10 at 23:26 -0500, Waldo Rubinstein wrote:

> I ran the tests and here is what I got (Note: I never ran this  
> before, so not sure what I'm looking for):
> 
> Welcome to OpenMCL Version 1.0 (DarwinPPC32)!
> ? (time (do-all-tests-spec *test-path-primary*))
> Doing 106 pending tests of 106 tests total.
> FIXNUMS FIXNUM-TYPE-1 BIGNUMS FLOATS RATIONALS BASE-STRINGS STRINGS  
> SYMBOLS
> CHARS PATHNAMES CONSES HASH-TABLES-1 HASH-TABLES-2 ARRAYS-1 ARRAYS-2
> TEST-DEEP-EQUALP OBJECTS CIRCULAR PERSISTENT NON-TRANSIENT-CLASS-SLOT-1
> NON-TRANSIENT-CLASS-SLOT-2 TRANSIENT-CLASS-SLOT CLASS-DEFINERS BAD- 
> INHERITENCE
> MIXES MIXES-RIGHT-SLOTS INHERIT INHERIT-RIGHT-SLOTS INITFORM-CLASSES
> INITFORM-TEST INITARG-TEST NO-EVAL-INITFORM REDEFCLASS MAKUNBOUND
> Test UPDATE-CLASS failed
> Form: (PROGN (DEFCLASS UPDATE-CLASS NIL ((SLOT1 :INITFORM 1 :ACCESSOR  
> SLOT1)) (:METACLASS PERSISTENT-METACLASS)) (LET* ((*AUTO-COMMIT* T)  
> (FOO (MAKE-INSTANCE 'UPDATE-CLASS :SC *STORE-CONTROLLER*))) (DEFCLASS  
> UPDATE-CLASS NIL ((SLOT2 :INITFORM 2 :ACCESSOR SLOT2)) (:METACLASS  
> PERSISTENT-METACLASS)) (VALUES (SLOT2 FOO) (SIGNALS-CONDITION (SLOT1  
> FOO)))))
> Expected values: 2
>                   T
> Actual value: #<UNBOUND-SLOT #x8570FF6>.
> Test CHANGE-CLASS failed
> Form: (PROGN (DEFCLASS CLASS-ONE NIL ((SLOT1 :INITFORM 1 :ACCESSOR  
> SLOT1)) (:METACLASS PERSISTENT-METACLASS)) (DEFCLASS CLASS-TWO NIL  
> ((SLOT1 :INITFORM 0 :ACCESSOR SLOT1) (SLOT2 :INITFORM 2 :ACCESSOR  
> SLOT2)) (:METACLASS PERSISTENT-METACLASS)) (LET* ((*AUTO-COMMIT* T)  
> (FOO (MAKE-INSTANCE 'CLASS-ONE :SC *STORE-CONTROLLER*))) (CHANGE- 
> CLASS FOO (FIND-CLASS 'CLASS-TWO)) (VALUES (SLOT1 FOO) (SLOT2 FOO))))
> Expected values: 1
>                   2
> Actual value: #<UNBOUND-SLOT #x858BBAE>.
> Test CHANGE-CLASS2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (LET  
> ((FOO (BUILD-BTREE *STORE-CONTROLLER*))) (CHANGE-CLASS FOO (FIND- 
> CLASS (IF (TYPEP *STORE-CONTROLLER* 'BDB-STORE-CONTROLLER) 'BDB- 
> INDEXED-BTREE 'SQL-INDEXED-BTREE))) (IS-NOT-NULL (INDICES FOO))))
> Expected value: T
> Actual value: #<UNBOUND-SLOT #x859B756>.
> Test CHANGE-CLASS3 failed
> Form: (PROGN (DEFCLASS CLASS-ONE NIL ((SLOT1 :ACCESSOR SLOT1))  
> (:METACLASS PERSISTENT-METACLASS)) (DEFCLASS CLASS-TWO NIL  
> ((SLOT1 :INITFORM 0 :ACCESSOR SLOT1) (SLOT2 :INITFORM 2 :ACCESSOR  
> SLOT2)) (:METACLASS PERSISTENT-METACLASS)) (LET* ((*AUTO-COMMIT* T)  
> (FOO (MAKE-INSTANCE 'CLASS-ONE :SC *STORE-CONTROLLER*))) (CHANGE- 
> CLASS FOO (FIND-CLASS 'CLASS-TWO)) (VALUES (SLOT1 FOO) (SLOT2 FOO))))
> Expected values: 0
>                   2
> Actual value: #<UNBOUND-SLOT #x8596516>.
> BASICPERSISTENCE TESTOID BTREE-MAKE BTREE-PUT BTREE-GET REMOVE-KV  
> REMOVED
> MAP-BTREE INDEXED-BTREE-MAKE
> Test ADD-INDICES failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (SETF INDEX1 (ADD-INDEX INDEXED :INDEX-NAME 'SLOT1 :KEY- 
> FORM 'KEY-MAKER)) (SETF INDEX2 (ADD-INDEX INDEXED :INDEX-NAME  
> 'SLOT2 :KEY-FORM '(LAMBDA (S KEY VALUE) (DECLARE (IGNORE S KEY))  
> (VALUES T (SLOT2 VALUE)))))))
> Expected value: T
> Actual value: NIL.
> Test TEST-INDICES failed
> Form: (VALUES (= (HASH-TABLE-COUNT (INDICES INDEXED)) 2) (EQ INDEX1  
> (GETHASH 'SLOT1 (INDICES INDEXED))) (EQ INDEX2 (GETHASH 'SLOT2  
> (INDICES INDEXED))))
> Expected values: T
>                   T
>                   T
> Actual value: #<UNBOUND-VARIABLE #x8628626>.
> Test INDEXED-PUT failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (LOOP FOR OBJ IN OBJS FOR KEY IN KEYS DO (SETF (GET- 
> VALUE KEY INDEXED) OBJ))))
> Expected value: T
> Actual value: NIL.
> Test INDEXED-GET failed
> Form: (LOOP FOR KEY IN KEYS FOR I FROM 1 TO 1000 FOR OBJ = (GET-VALUE  
> KEY INDEXED) ALWAYS (AND (= (SLOT1 OBJ) I) (= (SLOT2 OBJ) (* I 100))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x864A6A6>.
> Test SIMPLE-SLOT-GET failed
> Form: (PROGN (SETF (GET-VALUE (NTH 0 KEYS) INDEXED) (NTH 0 OBJS))  
> (LET ((OBJ (GET-VALUE 1 INDEX1))) (AND (= (SLOT1 OBJ) 1) (= (SLOT2  
> OBJ) (* 1 100)))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x8648FCE>.
> Test INDEXED-GET-FROM-SLOT1 failed
> Form: (LOOP WITH INDEX = (GET-INDEX INDEXED 'SLOT1) FOR I FROM 1 TO  
> 1000 FOR OBJ = (GET-VALUE I INDEX) ALWAYS (= (SLOT1 OBJ) I))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x8645B76>.
> Test INDEXED-GET-FROM-SLOT2 failed
> Form: (LOOP WITH INDEX = (GET-INDEX INDEXED 'SLOT2) FOR I FROM 1 TO  
> 1000 FOR OBJ = (GET-VALUE (* I 100) INDEX) ALWAYS (= (SLOT2 OBJ) (* I  
> 100)))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x8641FBE>.
> REMOVE-KV-INDEXED
> Test NO-KEY-NOR-INDICES failed
> Form: (VALUES (GET-VALUE FIRST-KEY INDEXED) (GET-PRIMARY-KEY 1  
> INDEX1) (GET-PRIMARY-KEY 100 INDEX2))
> Expected values: NIL
>                   NIL
>                   NIL
> Actual value: #<UNBOUND-VARIABLE #x855DEAE>.
> Test REMOVE-KV-FROM-SLOT1 failed
> Form: (FINISHES (REMOVE-KV 2 INDEX1))
> Expected value: T
> Actual value: NIL.
> Test NO-KEY-NOR-INDICES-SLOT1 failed
> Form: (VALUES (GET-VALUE (SECOND KEYS) INDEXED) (GET-PRIMARY-KEY 2  
> INDEX1) (GET-PRIMARY-KEY 200 INDEX2))
> Expected values: NIL
>                   NIL
>                   NIL
> Actual value: #<UNBOUND-VARIABLE #x8559DAE>.
> Test REMOVE-KV-FROM-SLOT2 failed
> Form: (FINISHES (REMOVE-KV 300 INDEX2))
> Expected value: T
> Actual value: NIL.
> Test NO-KEY-NOR-INDICES-SLOT2 failed
> Form: (VALUES (GET-VALUE (THIRD KEYS) INDEXED) (GET-PRIMARY-KEY 3  
> INDEX1) (GET-PRIMARY-KEY 300 INDEX2))
> Expected values: NIL
>                   NIL
>                   NIL
> Actual value: #<UNBOUND-VARIABLE #x8555CA6>.
> Test MAP-INDEXED failed
> Form: (LET ((KS NIL) (VS NIL)) (FLET ((MAPPER (K V) (PUSH K KS) (PUSH  
> V VS))) (MAP-BTREE #'MAPPER INDEXED)) (VALUES (AND (SUBSETP KS (CDDDR  
> KEYS) :TEST #'EQUALP) (SUBSETP (CDDDR KEYS) KS :TEST #'EQUALP))))
> Expected value: T
> Actual value: NIL.
> Test GET-FIRST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX1) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-FIRST  
> C) (DECLARE (IGNORE HAS V)) (= K 4))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85728C6>.
> Test GET-FIRST2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX2) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-FIRST  
> C) (DECLARE (IGNORE HAS V)) (= K 400))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x8582076>.
> Test GET-LAST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX1) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-LAST  
> C) (DECLARE (IGNORE HAS V)) (= K 1000))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x8591826>.
> Test GET-LAST2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX2) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-LAST  
> C) (DECLARE (IGNORE HAS V)) (= K 100000))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85A0D76>.
> Test SET failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX1) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-SET C  
> 200) (DECLARE (IGNORE HAS K)) (= (SLOT1 V) 200))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85CFE4E>.
> Test SET2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX2) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-SET C  
> 500) (DECLARE (IGNORE HAS K)) (= (SLOT2 V) 500))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85DF0BE>.
> Test SET-RANGE failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX1) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-SET- 
> RANGE C 199.5) (DECLARE (IGNORE HAS K)) (= (SLOT1 V) 200))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85EE326>.
> Test SET-RANGE2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (C INDEX2) (MULTIPLE-VALUE-BIND (HAS K V) (CURSOR-SET- 
> RANGE C 501) (DECLARE (IGNORE HAS K)) (= (SLOT2 V) 600))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85FD54E>.
> Test REM-KV failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (LET  
> ((IBT (BUILD-INDEXED-BTREE *STORE-CONTROLLER*))) (LOOP FOR I FROM 0  
> TO 10 DO (SETF (GET-VALUE I IBT) (* I I))) (REMOVE-KV 0 IBT) (REMOVE- 
> KV 1 IBT) (REMOVE-KV 10 IBT) (EQUAL (LIST (GET-VALUE 0 IBT) (GET- 
> VALUE 1 IBT) (GET-VALUE 10 IBT) (GET-VALUE 5 IBT)) '(NIL NIL NIL 25))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x8609BAE>.
> Test REM-IDEXKV failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (LET*  
> ((IBT (BUILD-INDEXED-BTREE *STORE-CONTROLLER*)) (ID1 (ADD-INDEX  
> IBT :INDEX-NAME 'IDX1 :KEY-FORM 'ODD))) (LOOP FOR I FROM 0 TO 10 DO  
> (SETF (GET-VALUE I IBT) (* I I))) (WITH-BTREE-CURSOR (C ID1) (CURSOR- 
> FIRST C) (DOTIMES (I 10) (MULTIPLE-VALUE-BIND (HAS KEY VALUE) (CURSOR- 
> NEXT C)))) (REMOVE-KV 4 IBT) (REMOVE-KV 5 IBT) (EQUAL (LIST (GET- 
> VALUE 4 IBT) (GET-VALUE 5 IBT) (GET-VALUE 6 IBT) (WITH-BTREE-CURSOR  
> (C IBT) (CURSOR-FIRST C) (DOTIMES (I 4) (MULTIPLE-VALUE-BIND (HAS KEY  
> VALUE) (CURSOR-NEXT C) VALUE)) (MULTIPLE-VALUE-BIND (HAS KEY VALUE)  
> (CURSOR-NEXT C) VALUE))) '(NIL NIL 36 49))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x862FAB6>.
> MAKE-INDEXED2
> Test ADD-INDICES2 failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (SETQ INDEX3 (ADD-INDEX INDEXED2 :INDEX-NAME  
> 'CRUNCH :KEY-FORM 'CRUNCH))))
> Expected value: T
> Actual value: NIL.
> Test PUT-INDEXED2 failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (LOOP FOR I FROM 0 TO 10000 DO (SETF (GET-VALUE I  
> INDEXED2) (- I)))))
> Expected value: T
> Actual value: NIL.
> Test GET-INDEXED2 failed
> Form: (LOOP FOR I FROM 0 TO 10000 ALWAYS (= (- I) (GET-VALUE I  
> INDEXED2)))
> Expected value: T
> Actual value: #<TYPE-ERROR #x856D096>.
> Test GET-FROM-INDEX3 failed
> Form: (LOOP FOR I FROM 0 TO 1000 ALWAYS (= (* I -10) (GET-VALUE I  
> INDEX3)))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x856A34E>.
> Test DUP-TEST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (CURS INDEX3) (LOOP FOR (MORE K V) = (MULTIPLE-VALUE- 
> LIST (CURSOR-FIRST CURS)) THEN (MULTIPLE-VALUE-LIST (CURSOR-NEXT-DUP  
> CURS)) WHILE MORE COLLECT V)))
> Expected value: (0 -1 -2 -3 -4 -5 -6 -7 -8 -9)
> Actual value: #<UNBOUND-VARIABLE #x859571E>.
> Test NODUP-TEST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (CURS INDEX3) (LOOP FOR (M K V) = (MULTIPLE-VALUE-LIST  
> (CURSOR-NEXT-NODUP CURS)) FOR I FROM 0 DOWNTO -9990 BY 10 WHILE M  
> ALWAYS (= V I))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85A16AE>.
> Test PREV-NODUP-TEST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (CURS INDEX3) (CURSOR-LAST CURS) (LOOP FOR (M K V) =  
> (MULTIPLE-VALUE-LIST (CURSOR-PREV-NODUP CURS)) FOR I FROM -9999 TO -9  
> BY 10 WHILE M ALWAYS (= V I))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85CD1AE>.
> Test PNODUP-TEST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (CURS INDEX3) (LOOP FOR (M K V P) = (MULTIPLE-VALUE-LIST  
> (CURSOR-PNEXT-NODUP CURS)) FOR I FROM 0 TO 9990 BY 10 WHILE M ALWAYS  
> (= P I))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85D86DE>.
> Test PPREV-NODUP-TEST failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (WITH- 
> BTREE-CURSOR (CURS INDEX3) (CURSOR-LAST CURS) (LOOP FOR (M K V P) =  
> (MULTIPLE-VALUE-LIST (CURSOR-PPREV-NODUP CURS)) FOR I FROM 9999  
> DOWNTO 9 BY 10 WHILE M ALWAYS (= P I))))
> Expected value: T
> Actual value: #<UNBOUND-VARIABLE #x85E3BE6>.
> Test CUR-DEL1 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (LET*  
> ((IBT (BUILD-INDEXED-BTREE *STORE-CONTROLLER*)) (ID1 (ADD-INDEX  
> IBT :INDEX-NAME 'IDX1 :KEY-FORM 'ODD))) (LOOP FOR I FROM 0 TO 10 DO  
> (SETF (GET-VALUE I IBT) (* I I))) (WITH-BTREE-CURSOR (C ID1) (CURSOR- 
> LAST C) (CURSOR-DELETE C)) (EQUAL (LIST (GET-VALUE 4 IBT) (GET-VALUE  
> 5 IBT) (GET-VALUE 9 IBT) (GET-VALUE 10 IBT)) '(16 25 NIL 100))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x860F77E>.
> Test INDEXED-DELETE failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (WITH-BTREE-CURSOR (CURS INDEX3) (CURSOR-LAST CURS)  
> (CURSOR-DELETE CURS))))
> Expected value: T
> Actual value: NIL.
> Test TEST-DELETED failed
> Form: (VALUES (GET-VALUE 10000 INDEXED2) (GET-VALUE 1000 INDEX3))
> Expected values: NIL
>                   NIL
> Actual value: #<UNBOUND-VARIABLE #x8619B2E>.
> Test INDEXED-DELETE2 failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (WITH-BTREE-CURSOR (CURS INDEX3) (CURSOR-FIRST CURS)  
> (CURSOR-NEXT-DUP CURS) (CURSOR-DELETE CURS))))
> Expected value: T
> Actual value: NIL.
> Test TEST-DELETED2 failed
> Form: (VALUES (GET-VALUE 0 INDEXED2) (GET-VALUE 0 INDEX3) (GET-VALUE  
> 1 INDEXED2) (WITH-BTREE-CURSOR (C INDEX3) (CURSOR-FIRST C) (MULTIPLE- 
> VALUE-BIND (M K V) (CURSOR-NEXT C) V)))
> Expected values: 0
>                   0
>                   NIL
>                   -2
> Actual value: #<UNBOUND-VARIABLE #x86245D6>.
> Test CUR-DEL2 failed
> Form: (WITH-TRANSACTION (:STORE-CONTROLLER *STORE-CONTROLLER*) (LET*  
> ((IBT (BUILD-INDEXED-BTREE *STORE-CONTROLLER*)) (ID1 (ADD-INDEX  
> IBT :INDEX-NAME 'IDX1 :KEY-FORM 'ODD))) (LOOP FOR I FROM 0 TO 10 DO  
> (SETF (GET-VALUE I IBT) (* I I))) (WITH-BTREE-CURSOR (C ID1) (CURSOR- 
> FIRST C) (CURSOR-NEXT-DUP C) (CURSOR-DELETE C)) (EQUAL (LIST (GET- 
> VALUE 1 ID1) (GET-VALUE 0 ID1)) '(1 0))))
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x863093E>.
> Test GET-BOTH failed
> Form: (WITH-BTREE-CURSOR (C INDEXED2) (CURSOR-GET-BOTH C 200 -200))
> Expected values: T
>                   200
>                   -200
> Actual value: NIL.
> Test PGET-BOTH failed
> Form: (WITH-BTREE-CURSOR (C INDEX3) (MULTIPLE-VALUE-BIND (M K V P)  
> (CURSOR-PGET-BOTH C 10 107) (VALUES K V P)))
> Expected values: 10
>                   -107
>                   107
> Actual value: #<UNBOUND-VARIABLE #x864D7B6>.
> Test PGET-BOTH-RANGE failed
> Form: (WITH-BTREE-CURSOR (C INDEX3) (MULTIPLE-VALUE-BIND (M K V P)  
> (CURSOR-PGET-BOTH-RANGE C 10 106.5) (VALUES K V P)))
> Expected values: 10
>                   -107
>                   107
> Actual value: #<UNBOUND-VARIABLE #x864B9FE>.
> Test PCURSOR failed
> Form: (WITH-BTREE-CURSOR (C INDEX3) (VALUES (PCURSOR-PKEY (CURSOR- 
> PFIRST C)) (PCURSOR-PKEY (CURSOR-PNEXT C)) (PCURSOR-PKEY (CURSOR- 
> PNEXT-NODUP C)) (PCURSOR-PKEY (CURSOR-PNEXT-DUP C)) (PCURSOR-PKEY  
> (CURSOR-PPREV C)) (PCURSOR-PKEY (CURSOR-PPREV-NODUP C)) (PCURSOR-PKEY  
> (CURSOR-PLAST C)) (PCURSOR-PKEY (CURSOR-PSET C 300)) (PCURSOR-PKEY  
> (CURSOR-PSET-RANGE C 199.5)) (PCURSOR-PKEY (CURSOR-PGET-BOTH C 10  
> 101)) (PCURSOR-PKEY (CURSOR-PGET-BOTH-RANGE C 11 111.4))))
> Expected values: 0
>                   2
>                   10
>                   11
>                   10
>                   9
>                   9999
>                   3000
>                   2000
>                   101
>                   112
> Actual value: #<UNBOUND-VARIABLE #x8643776>.
> Test NEWINDEX failed
> Form: (FINISHES (WITH-TRANSACTION (:STORE-CONTROLLER *STORE- 
> CONTROLLER*) (SETQ INDEX4 (ADD-INDEX INDEXED2 :INDEX-NAME  
> 'CRUNCH :KEY-FORM 'CRUNCH :POPULATE T))))
> Expected value: T
> Actual value: NIL.
> Test PCURSOR2 failed
> Form: (WITH-BTREE-CURSOR (C INDEX4) (VALUES (PCURSOR-PKEY (CURSOR- 
> PFIRST C)) (PCURSOR-PKEY (CURSOR-PNEXT C)) (PCURSOR-PKEY (CURSOR- 
> PNEXT-NODUP C)) (PCURSOR-PKEY (CURSOR-PNEXT-DUP C)) (PCURSOR-PKEY  
> (CURSOR-PPREV C)) (PCURSOR-PKEY (CURSOR-PPREV-NODUP C)) (PCURSOR-PKEY  
> (CURSOR-PLAST C)) (PCURSOR-PKEY (CURSOR-PSET C 300)) (PCURSOR-PKEY  
> (CURSOR-PSET-RANGE C 199.5)) (PCURSOR-PKEY (CURSOR-PGET-BOTH C 10  
> 101)) (PCURSOR-PKEY (CURSOR-PGET-BOTH-RANGE C 11 111.4))))
> Expected values: 0
>                   2
>                   10
>                   11
>                   10
>                   9
>                   9999
>                   3000
>                   2000
>                   101
>                   112
> Actual value: #<UNBOUND-VARIABLE #x8666A06>.
> ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP PREPARES-SLEEPYCAT TEST- 
> SEQ1
> TEST-SEQ2 CLEANSUP-SLEEPYCAT REMOVE-ELEMENT
> Test MIGRATE1 failed
> Form: (LET ((OLD-STORE *STORE-CONTROLLER*) (*PREV-COMMIT* *AUTO- 
> COMMIT*) (*AUTO-COMMIT* T) (RV NIL)) (UNWIND-PROTECT (LET ((SC1 (OPEN- 
> STORE *TEST-PATH-PRIMARY*)) (SC2 (OPEN-STORE *TEST-PATH-SECONDARY*)))  
> (ADD-TO-ROOT "x" "y" :STORE-CONTROLLER SC1) (COPY-FROM-KEY "x" SC1  
> SC2) (SETF RV (EQUAL (GET-FROM-ROOT "x" :STORE-CONTROLLER SC1) (GET- 
> FROM-ROOT "x" :STORE-CONTROLLER SC2)))) (PROGN (SETQ *STORE- 
> CONTROLLER* OLD-STORE) (SETQ *AUTO-COMMIT* *PREV-COMMIT*))) RV)
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x85779EE>.
> Test MIGRATE2 failed
> Form: (LET ((OLD-STORE *STORE-CONTROLLER*) (*PREV-COMMIT* *AUTO- 
> COMMIT*) (*AUTO-COMMIT* T) (RV NIL)) (UNWIND-PROTECT (LET ((SC1 (OPEN- 
> STORE *TEST-PATH-PRIMARY*)) (SC2 (OPEN-STORE *TEST-PATH-SECONDARY*)))  
> (LET ((IBT (BUILD-BTREE SC1))) (LOOP FOR I FROM 0 TO 10 DO (SETF (GET- 
> VALUE I IBT) (* I I))) (LET ((MIG (MIGRATE SC2 IBT))) (BTREE-DIFFER  
> IBT MIG)))) (PROGN (SETQ *STORE-CONTROLLER* OLD-STORE) (SETQ *AUTO- 
> COMMIT* *PREV-COMMIT*))))
> Expected value: NIL
> Actual value: #<SIMPLE-ERROR #x85ACC46>.
> Test MIGRATE3 failed
> Form: (LET ((OLD-STORE *STORE-CONTROLLER*) (*PREV-COMMIT* *AUTO- 
> COMMIT*) (*AUTO-COMMIT* T) (RV NIL)) (UNWIND-PROTECT (LET ((SC1 (OPEN- 
> STORE *TEST-PATH-PRIMARY*)) (SC2 (OPEN-STORE *TEST-PATH-SECONDARY*)))  
> (LET* ((IBT (BUILD-INDEXED-BTREE SC1))) (LET ((INDEX (ADD-INDEX  
> IBT :INDEX-NAME 'CRUNCH :KEY-FORM 'CRUNCH :POPULATE T))) (LOOP FOR I  
> FROM 0 TO 10 DO (SETF (GET-VALUE I IBT) (* I I))) (LET* ((MIG  
> (MIGRATE SC2 IBT)) (NINDEX (GETHASH 'CRUNCH (INDICES IBT)))) (LOOP  
> FOR I FROM 0 TO 10 DO (IF (NOT (EQUAL (GET-VALUE I INDEX) (GET-VALUE  
> I NINDEX))) (PROGN (FORMAT T "YIKES ~A ~%" I)))) (SETF RV (NOT (BTREE- 
> DIFFER IBT MIG))))))) (PROGN (SETQ *STORE-CONTROLLER* OLD-STORE)  
> (SETQ *AUTO-COMMIT* *PREV-COMMIT*))) RV)
> Expected value: T
> Actual value: #<SIMPLE-ERROR #x85A511E>.
> Test MIGRATE4 failed
> Form: (FINISHES (LET ((OLD-STORE *STORE-CONTROLLER*) (*PREV-COMMIT*  
> *AUTO-COMMIT*) (*AUTO-COMMIT* T) (RV NIL)) (UNWIND-PROTECT (LET*  
> ((SC1 (OPEN-STORE *TEST-PATH-PRIMARY*)) (SC2 (OPEN-STORE *TEST-PATH- 
> SECONDARY*))) (LET* ((IBT (BUILD-INDEXED-BTREE SC1))) (LET ((INDEX  
> (ADD-INDEX IBT :INDEX-NAME 'CRUNCH :KEY-FORM 'CRUNCH :POPULATE T)) (X  
> 0)) (LOOP FOR I FROM 0 TO 10 DO (SETF (GET-VALUE I IBT) (* I I))))))  
> (PROGN (SETQ *STORE-CONTROLLER* OLD-STORE) (SETQ *AUTO-COMMIT* *PREV- 
> COMMIT*)))))
> Expected value: T
> Actual value: NIL.
> MIGRATE5
> 52 out of 106 total tests failed: UPDATE-CLASS, CHANGE-CLASS, CHANGE- 
> CLASS2, CHANGE-CLASS3, ADD-INDICES,
>     TEST-INDICES, INDEXED-PUT, INDEXED-GET, SIMPLE-SLOT-GET,
>     INDEXED-GET-FROM-SLOT1, INDEXED-GET-FROM-SLOT2, NO-KEY-NOR-INDICES,
>     REMOVE-KV-FROM-SLOT1, NO-KEY-NOR-INDICES-SLOT1, REMOVE-KV-FROM- 
> SLOT2,
>     NO-KEY-NOR-INDICES-SLOT2, MAP-INDEXED, GET-FIRST, GET-FIRST2, GET- 
> LAST,
>     GET-LAST2, SET, SET2, SET-RANGE, SET-RANGE2, REM-KV, REM-IDEXKV,
>     ADD-INDICES2, PUT-INDEXED2, GET-INDEXED2, GET-FROM-INDEX3, DUP-TEST,
>     NODUP-TEST, PREV-NODUP-TEST, PNODUP-TEST, PPREV-NODUP-TEST, CUR- 
> DEL1,
>     INDEXED-DELETE, TEST-DELETED, INDEXED-DELETE2, TEST-DELETED2, CUR- 
> DEL2,
>     GET-BOTH, PGET-BOTH, PGET-BOTH-RANGE, PCURSOR, NEWINDEX,  
> PCURSOR2, MIGRATE1,
>     MIGRATE2, MIGRATE3, MIGRATE4.
> (DO-ALL-TESTS-SPEC *TEST-PATH-PRIMARY*) took 8,681 milliseconds  
> (8.681 seconds) to run.
> Of that, 6,746 milliseconds (6.746 seconds) were spent in user mode
>           706 milliseconds (0.706 seconds) were spent in system mode
>           1,229 milliseconds (1.229 seconds) were spent executing  
> other OS processes.
> 738 milliseconds (0.738 seconds) was spent in GC.
> 372,045,168 bytes of memory allocated.
> NIL
> 
> - Waldo
> 
> On Jan 10, 2006, at 5:06 PM, Robert L. Read wrote:
> 
> > 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.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060111/446aa90f/attachment.html>


More information about the elephant-devel mailing list