[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