[elephant-devel] secondary indices
Andrew Blumberg
blumberg at math.uchicago.edu
Wed Jan 11 07:38:55 UTC 2006
the failure of update-class and change-class(N) are my responsibility, so
i'll try and debug the problems there.
- andrew
On Tue, 10 Jan 2006, 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.)
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
>
More information about the elephant-devel
mailing list