From eslick at csail.mit.edu Fri Mar 2 03:43:38 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Thu, 1 Mar 2007 22:43:38 -0500 Subject: [elephant-devel] Windows + LispWorks In-Reply-To: <430745635@web.de> References: <430745635@web.de> Message-ID: <8597E927-3099-450D-A02F-B04F3D4D3769@csail.mit.edu> Frank, Thanks for the debugging work. I integrated them and I think I fixed a few more things. Check out my latest checkin. It built for me under Allegro and Lispworks (although you have to accept the error that ensure-class-using-class sparks on Lispworks but no other lisp) and passed all known-good tests under Allegro. However during the first db-env-create call in Lispworks, the dll issued an error. I'm not familiar with how to debug C code calls under Windows under Lispworks so will let this go for a bit. Given that the same libraries, dlls and such work on Allegro, this is likely to be some issue related to Lispwork's UFFI. Everyone, I added a new test for a feature I implemented but never tested: (defclass my-persistent-class ((slot1 :accessor slot1 :initarg :slot1)) (:metaclass 'persistent-metaclass :index t)) This ensures that all instances are indexed upon creation. However, it doesn't appear to work reliably so the new test fails. I'll get to it soon but don't sweat it if you're doing tests. Ian On Feb 28, 2007, at 6:44 PM, Frank Schorr wrote: > This makes libmemutil.dll for ACL and LW: > (I still have trouble with the format (format nil "~A ~{~A ~}" ;; - > I~A -L~A -l~A > which is called for making libberkeley-db.dll) > > (defmethod perform ((o compile-op) (c elephant-c-source)) > "Run the appropriate compiler for this platform on the source, > getting > the specific options from 'compiler-options method. Default > options > can be overridden or augmented by subclass methods" > #+(or mswindows windows) > (progn > (let* ((pathname (component-pathname c)) > (directory (directory-namestring pathname)) > (stdout-lines) (stderr-lines) (exit-status)) > (let ((command (format nil "~A ~{~A ~}" > (c-compiler-path c) > (compiler-options (c-compiler c) c > :input-file (format nil > "\"~A\"" (namestring pathname)) > :output-file nil > :library nil)))) > #+allegro (multiple-value-setq (stdout-lines stderr-lines > exit-status) > (excl.osi:command-output command :directory > directory)) > #+lispworks (setf exit-status (system:call-system > command :current-directory directory)) > (unless (zerop exit-status) > (error 'operation-error :component c :operation o))) > > (let ((command (format nil "dlltool -z ~A --export-all- > symbols -e exports.o -l ~A ~A" > (format nil "\"~A\"" (namestring (make- > pathname :type "def" :defaults pathname))) > (format nil "\"~A\"" (namestring (make- > pathname :type "lib" :defaults pathname))) > (format nil "\"~A\"" (namestring (make- > pathname :type "o" :defaults pathname)))))) > #+allegro (multiple-value-setq (stdout-lines stderr-lines > exit-status) > (excl.osi:command-output command :directory > directory)) > #+lispworks (setf exit-status (system:call-system > command :current-directory directory)) > (unless (zerop exit-status) > (error 'operation-error :component c :operation o))) > > (let ((command (format nil "~A ~{~A ~}" ;; -I~A -L~A -l~A > (c-compiler-path c) > (compiler-options (c-compiler c) c > :input-file > (list (format nil > "\"~A\"" (namestring > > (make-pathname :type "o" :defaults pathname))) > "exports.o") > :output-file (format > nil "\"~A\"" (first (output-files o c))) > :library t)))) > #+allegro (multiple-value-setq (stdout-lines stderr-lines > exit-status) > (excl.osi:command-output command :directory > directory)) > #+lispworks (setf exit-status (system:call-system > command :current-directory directory)) > (unless (zerop exit-status) > (error 'operation-error :component c :operation o))))) > > #-(or mswindows windows) > (unless (zerop (run-shell-command > "~A ~{~A ~}" > (c-compiler-path c) > (compiler-options (c-compiler c) c > :input-file (namestring (component-pathname c)) > :output-file (namestring (first (output-files o c)))))) > (error 'operation-error :component c :operation o))) > > > And here is some compiler output from LispWorks: > > ;;; Compiling file c:\lisp\libraries\elephant\src\memutil > \memutil.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (DEFPACKAGE "ELEPHANT-MEMUTIL") > ; (TOP-LEVEL-FORM 2) > ;;;*** Warning in (DEFTYPE ELEPHANT-MEMUTIL:POINTER-INT): (DEFTYPE > ELEPHANT-MEMUTIL:POINTER-INT) defined more than once in c:\lisp > \libraries\elephant\src\memutil\memutil.lisp. > ; (DEFTYPE ELEPHANT-MEMUTIL:POINTER-INT) > ;;;*** Warning in (DEFTYPE ELEPHANT-MEMUTIL:POINTER-VOID): (DEFTYPE > ELEPHANT-MEMUTIL:POINTER-VOID) defined more than once in c:\lisp > \libraries\elephant\src\memutil\memutil.lisp. > ; (DEFTYPE ELEPHANT-MEMUTIL:POINTER-VOID) > ; (FLI:DEFINE-FOREIGN-TYPE ELEPHANT-MEMUTIL:ARRAY-OR-POINTER-CHAR) > ;;;*** Warning in (DEFTYPE ELEPHANT-MEMUTIL:ARRAY-OR-POINTER-CHAR): > (DEFTYPE ELEPHANT-MEMUTIL:ARRAY-OR-POINTER-CHAR) defined more than > once in c:\lisp\libraries\elephant\src\memutil\memutil.lisp. > ; (DEFTYPE ELEPHANT-MEMUTIL:ARRAY-OR-POINTER-CHAR) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::COPY-BUFS (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::COPY-BUFS)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-BUFS) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-BUFS) > ; (DEFVAR ELEPHANT-MEMUTIL:+NULL-VOID+) > ; (DEFVAR ELEPHANT-MEMUTIL:+NULL-CHAR+) > ; (DEFVAR ELEPHANT-MEMUTIL::*BUFFER-STREAMS*) > ; (DEFVAR ELEPHANT-MEMUTIL::*BUFFER-STREAMS-LOCK*) > ; (SUBFUNCTION (DEFSETF ELEPHANT-MEMUTIL:BUFFER-STREAM-LENGTH) > (DEFSTRUCT ELEPHANT-MEMUTIL:BUFFER-STREAM)) > ; (SUBFUNCTION (DEFSETF ELEPHANT-MEMUTIL::BUFFER-STREAM-POSITION) > (DEFSTRUCT ELEPHANT-MEMUTIL:BUFFER-STREAM)) > ; (SUBFUNCTION (DEFSETF ELEPHANT-MEMUTIL:BUFFER-STREAM-SIZE) > (DEFSTRUCT ELEPHANT-MEMUTIL:BUFFER-STREAM)) > ; (SUBFUNCTION (DEFSETF ELEPHANT-MEMUTIL:BUFFER-STREAM-BUFFER) > (DEFSTRUCT ELEPHANT-MEMUTIL:BUFFER-STREAM)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL:MAKE-BUFFER-STREAM (DEFSTRUCT > ELEPHANT-MEMUTIL:BUFFER-STREAM)) > ; ELEPHANT-MEMUTIL::GRAB-BUFFER-STREAM > ;;;*** Warning in ELEPHANT-MEMUTIL::RETURN-BUFFER-STREAM: Inline > expansion for ELEPHANT-MEMUTIL:RESET-BUFFER-STREAM not found > ;;;*** Warning in ELEPHANT-MEMUTIL::RETURN-BUFFER-STREAM: Inline > expansion for ELEPHANT-MEMUTIL:RESET-BUFFER-STREAM not found > ; ELEPHANT-MEMUTIL::RETURN-BUFFER-STREAM > ; ELEPHANT-MEMUTIL:WITH-BUFFER-STREAMS > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-INT32 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-INT32)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-INT32) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-INT32) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-UINT32 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-UINT32)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-UINT32) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-UINT32) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-INT64 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-INT64)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-INT64) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-INT64) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-UINT64 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-UINT64)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-UINT64) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-UINT64) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-FLOAT (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-FLOAT)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-FLOAT (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-FLOAT)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-FLOAT) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-FLOAT) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::READ-DOUBLE) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-INT32 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-INT32)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-INT32) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-INT32) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-UINT32 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT32)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT32) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT32) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-INT64 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-INT64)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-INT64) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-INT64) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-UINT64 (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT64)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT64) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-UINT64) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-FLOAT) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE (FLI:DEFINE-FOREIGN- > FUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::WRITE-DOUBLE) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER (FLI:DEFINE- > FOREIGN-FUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER (FLI:DEFINE- > FOREIGN-FUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::OFFSET-CHAR-POINTER) > ; ELEPHANT-MEMUTIL:BYTE-LENGTH > ; (SUBFUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF (FLI:DEFINE- > FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF)) > ; (SUBFUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF (FLI:DEFINE- > FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF)) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF) > ; (FLI:DEFINE-FOREIGN-FUNCTION ELEPHANT-MEMUTIL::COPY-STR-TO-BUF) > ; ELEPHANT-MEMUTIL::PROCESS-STRUCT-SLOT-DEFS > ; ELEPHANT-MEMUTIL::WITH-STRUCT-SLOTS > ;;;*** Warning in ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM: Inline > expansion for ELEPHANT-MEMUTIL::COPY-BUFS not found > ;;;*** Warning in ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM: Inline > expansion for ELEPHANT-MEMUTIL::COPY-BUFS not found > ;;;*** Warning in ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM: Inline > expansion for ELEPHANT-MEMUTIL::COPY-BUFS not found > ; ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM > ;;;*** Warning in ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM-NO-COPY: > symbol-macro SIZE is bound but not referenced > ; ELEPHANT-MEMUTIL:RESIZE-BUFFER-STREAM-NO-COPY > ; ELEPHANT-MEMUTIL:RESET-BUFFER-STREAM > ; ELEPHANT-MEMUTIL:RESET-BUFFER-STREAM > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-INT64 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-INT64 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT64 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT64 > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-FLOAT > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-FLOAT > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING > ; ELEPHANT-MEMUTIL:BUFFER-READ-BYTE > ; ELEPHANT-MEMUTIL:BUFFER-READ-BYTE > ; ELEPHANT-MEMUTIL::BUFFER-READ-BYTE-VECTOR > ; ELEPHANT-MEMUTIL::BUFFER-WRITE-BYTE-VECTOR > ; ELEPHANT-MEMUTIL:BUFFER-READ-TO-ARRAY-OFFSET > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-FROM-ARRAY-OFFSET > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-OID > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-OID > ; ELEPHANT-MEMUTIL:BUFFER-READ-OID > ; ELEPHANT-MEMUTIL:BUFFER-READ-OID > ;;;*** Warning in ELEPHANT-MEMUTIL:BUFFER-READ-INT: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT-MEMUTIL:BUFFER-READ-INT: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ; ELEPHANT-MEMUTIL:BUFFER-READ-INT > ; ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM > ; ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-INT > ;;;*** Warning in ELEPHANT-MEMUTIL:BUFFER-READ-UINT: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UINT32 not found > ;;;*** Warning in ELEPHANT-MEMUTIL:BUFFER-READ-UINT: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UINT32 not found > ; ELEPHANT-MEMUTIL:BUFFER-READ-UINT > ; ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT > ; (DEFCONSTANT ELEPHANT-MEMUTIL::+2^32+) > ; (DEFCONSTANT ELEPHANT-MEMUTIL::+2^64+) > ; ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM32 > ; ELEPHANT-MEMUTIL:BUFFER-READ-INT32 > ; ELEPHANT-MEMUTIL:BUFFER-READ-INT32 > ; ELEPHANT-MEMUTIL:BUFFER-READ-UINT32 > ; ELEPHANT-MEMUTIL:BUFFER-READ-UINT32 > ; ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM64 > ; ELEPHANT-MEMUTIL:BUFFER-READ-INT64 > ; ELEPHANT-MEMUTIL:BUFFER-READ-INT64 > ; ELEPHANT-MEMUTIL:BUFFER-READ-UINT64 > ; ELEPHANT-MEMUTIL:BUFFER-READ-UINT64 > ; ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT > ; ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT > ; ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE > ; ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE > > > **++++ Error between functions: > Undefined operator ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P in form > (ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P). > > > **++++ Error between functions: > Undefined operator ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P in form > (ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P). > ; ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING > ; ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING > > > **++++ Error between functions: > Undefined operator ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P in form > (ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P). > > > **++++ Error between functions: > Undefined operator ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P in form > (ELEPHANT-MEMUTIL::NEW-STYLE-COPY-P). > ; ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P > ; (TOP-LEVEL-FORM 3) > ; *** 4 errors detected, no fasl file produced. > > > > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \variables.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFVAR ELEPHANT:*ELEPHANT-CODE-VERSION*) > ; (DEFVAR ELEPHANT::*ELEPHANT-UNMARKED-CODE-VERSION*) > ; (DEFVAR ELEPHANT::*ELEPHANT-PROPERTIES-LABEL*) > ; (DEFVAR ELEPHANT::*CACHESIZE*) > ; (DEFVAR ELEPHANT::*CIRCULARITY-INITIAL-HASH-SIZE*) > ; (DEFVAR ELEPHANT:*STORE-CONTROLLER*) > ; (DEFVAR ELEPHANT:*CURRENT-TRANSACTION*) > ; ELEPHANT::REMOVE-INDEXED-ELEMENT-AND-ADJUST > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\variables.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \transactions.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFGENERIC ELEPHANT::EXECUTE-TRANSACTION) > ; ELEPHANT::MAKE-TRANSACTION-RECORD > ; ELEPHANT::TRANSACTION-STORE > ; ELEPHANT::TRANSACTION-OBJECT > ; ELEPHANT::TRANSACTION-OBJECT-P > ; ELEPHANT::OWNED-TXN-P > ; ELEPHANT:WITH-TRANSACTION > ; ELEPHANT:ENSURE-TRANSACTION > ; ELEPHANT::WITH-BATCH-TRANSACTION > ; (DEFGENERIC ELEPHANT::CONTROLLER-START-TRANSACTION) > ; (DEFGENERIC ELEPHANT::CONTROLLER-COMMIT-TRANSACTION) > ; (DEFGENERIC ELEPHANT::CONTROLLER-ABORT-TRANSACTION) > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\transactions.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \metaclasses.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFCLASS ELEPHANT:PERSISTENT) > ; (DEFCLASS ELEPHANT:PERSISTENT-METACLASS) > ; ELEPHANT:DEFPCLASS > ; ELEPHANT::ADD-PERSISTENT-METACLASS-ARGUMENT > ; (METHOD ELEPHANT::PERSISTENT-SLOTS (ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD ELEPHANT::PERSISTENT-SLOTS (STANDARD-CLASS)) > ; (METHOD ELEPHANT::OLD-PERSISTENT-SLOTS (ELEPHANT:PERSISTENT- > METACLASS)) > ; (METHOD ELEPHANT::UPDATE-PERSISTENT-SLOTS (ELEPHANT:PERSISTENT- > METACLASS T)) > ; (DEFCLASS ELEPHANT::PERSISTENT-SLOT-DEFINITION) > ; (DEFCLASS ELEPHANT::PERSISTENT-DIRECT-SLOT-DEFINITION) > ; (DEFCLASS ELEPHANT::PERSISTENT-EFFECTIVE-SLOT-DEFINITION) > ; (DEFCLASS ELEPHANT::TRANSIENT-SLOT-DEFINITION) > ; (DEFCLASS ELEPHANT::TRANSIENT-DIRECT-SLOT-DEFINITION) > ; (DEFCLASS ELEPHANT::TRANSIENT-EFFECTIVE-SLOT-DEFINITION) > ; (DEFGENERIC ELEPHANT::TRANSIENT) > ; (METHOD ELEPHANT::TRANSIENT (STANDARD-DIRECT-SLOT-DEFINITION)) > ; (METHOD ELEPHANT::TRANSIENT (ELEPHANT::PERSISTENT-DIRECT-SLOT- > DEFINITION)) > ; (DEFCLASS ELEPHANT::INDEXING-RECORD) > ; (METHOD PRINT-OBJECT (ELEPHANT::INDEXING-RECORD T)) > ; (METHOD ELEPHANT::INDEXED-RECORD (STANDARD-CLASS)) > ; (METHOD ELEPHANT::INDEXED-RECORD (ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD ELEPHANT::OLD-INDEXED-RECORD (ELEPHANT:PERSISTENT- > METACLASS)) > ; (METHOD ELEPHANT::UPDATE-INDEXED-RECORD (ELEPHANT:PERSISTENT- > METACLASS T)) > ; (METHOD ELEPHANT::MAKE-NEW-INDEXED-RECORD (T T T)) > ; (METHOD ELEPHANT::REMOVED-INDEXING? (ELEPHANT:PERSISTENT-METACLASS)) > ; ELEPHANT::INDEXED-SLOT-NAMES-FROM-DEFS > ; (METHOD ELEPHANT::REGISTER-INDEXED-SLOT (ELEPHANT:PERSISTENT- > METACLASS T)) > ; (METHOD ELEPHANT::UNREGISTER-INDEXED-SLOT (T T)) > ; (METHOD ELEPHANT::REGISTER-DERIVED-INDEX (T T)) > ; (METHOD ELEPHANT::UNREGISTER-DERIVED-INDEX (T T)) > ; (METHOD ELEPHANT::INDEXED (ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD ELEPHANT::PREVIOUSLY-INDEXED (ELEPHANT:PERSISTENT- > METACLASS)) > ; (METHOD ELEPHANT::INDEXED (STANDARD-SLOT-DEFINITION)) > ; (METHOD ELEPHANT::INDEXED (STANDARD-CLASS)) > ; (DEFVAR ELEPHANT::*INHIBIT-INDEXING-LIST*) > ; ELEPHANT::INHIBIT-INDEXING > ; ELEPHANT::UNINHIBIT-INDEXING > ; (METHOD SLOT-DEFINITION-ALLOCATION (ELEPHANT::PERSISTENT-SLOT- > DEFINITION)) > ; (METHOD CLOS:DIRECT-SLOT-DEFINITION-CLASS (ELEPHANT:PERSISTENT- > METACLASS)) > ; (METHOD VALIDATE-SUPERCLASS (ELEPHANT:PERSISTENT-METACLASS > STANDARD-CLASS)) > ; (METHOD VALIDATE-SUPERCLASS (STANDARD-CLASS ELEPHANT:PERSISTENT- > METACLASS)) > ; (DEFGENERIC ELEPHANT::PERSISTENT-P) > ; (METHOD ELEPHANT::PERSISTENT-P (T)) > ; (METHOD ELEPHANT::PERSISTENT-P (ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD ELEPHANT::PERSISTENT-P (ELEPHANT::PERSISTENT-SLOT- > DEFINITION)) > ; (METHOD CLOS:EFFECTIVE-SLOT-DEFINITION-CLASS (ELEPHANT:PERSISTENT- > METACLASS)) > ; ELEPHANT::ENSURE-TRANSIENT-CHAIN > ; (METHOD ELEPHANT::COMPUTE-EFFECTIVE-SLOT-DEFINITION-INITARGS > (ELEPHANT:PERSISTENT-METACLASS T)) > ; ELEPHANT::FIND-SLOT-DEF-BY-NAME > ; ELEPHANT::PERSISTENT-SLOT-DEFS > ; ELEPHANT::TRANSIENT-SLOT-DEFS > ; ELEPHANT::PERSISTENT-SLOT-NAMES > ; ELEPHANT::TRANSIENT-SLOT-NAMES > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\metaclasses.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \classes.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFVAR ELEPHANT::*DEBUG-SI*) > ; (METHOD INITIALIZE-INSTANCE :BEFORE (ELEPHANT:PERSISTENT)) > ; (DEFCLASS ELEPHANT:PERSISTENT-OBJECT) > ; (METHOD CLOS:ENSURE-CLASS-USING-CLASS :AROUND ((EQL NIL) T)) > ; (METHOD CLOS:ENSURE-CLASS-USING-CLASS :AROUND > (ELEPHANT:PERSISTENT-METACLASS T)) > ; ELEPHANT::REMOVE-INDEX-KEYWORD > ; (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT:PERSISTENT-METACLASS T)) > ; (METHOD ELEPHANT::FINALIZE-INHERITANCE :AROUND > (ELEPHANT:PERSISTENT-METACLASS)) > ; (METHOD REINITIALIZE-INSTANCE :AROUND (ELEPHANT:PERSISTENT- > METACLASS)) > ; (METHOD SHARED-INITIALIZE :AROUND (ELEPHANT:PERSISTENT-OBJECT T)) > ; ELEPHANT::INITIALIZE-PERSISTENT-SLOTS > ; (METHOD UPDATE-INSTANCE-FOR-REDEFINED-CLASS :AROUND > (ELEPHANT:PERSISTENT-OBJECT T T T)) > ; (METHOD UPDATE-INSTANCE-FOR-DIFFERENT-CLASS :AROUND > (ELEPHANT:PERSISTENT ELEPHANT:PERSISTENT)) > ; (METHOD CLOS:SLOT-VALUE-USING-CLASS :AROUND (ELEPHANT:PERSISTENT- > METACLASS ELEPHANT:PERSISTENT-OBJECT ELEPHANT::PERSISTENT-SLOT- > DEFINITION)) > ; (METHOD (SETF CLOS:SLOT-VALUE-USING-CLASS) :AROUND (T > ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; (METHOD CLOS:SLOT-BOUNDP-USING-CLASS :AROUND (ELEPHANT:PERSISTENT- > METACLASS ELEPHANT:PERSISTENT-OBJECT ELEPHANT::PERSISTENT-SLOT- > DEFINITION)) > ; (METHOD CLOS:SLOT-BOUNDP-USING-CLASS :AROUND (ELEPHANT:PERSISTENT- > METACLASS ELEPHANT:PERSISTENT-OBJECT SYMBOL)) > ; (METHOD CLOS:SLOT-MAKUNBOUND-USING-CLASS :AROUND > (ELEPHANT:PERSISTENT-METACLASS ELEPHANT:PERSISTENT-OBJECT > ELEPHANT::PERSISTENT-SLOT-DEFINITION)) > ; (TOP-LEVEL-FORM 3) > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\classes.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \serializer.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; ELEPHANT::SERIALIZE > ; ELEPHANT::DESERIALIZE > ; (DEFGENERIC ELEPHANT:STRUCT-CONSTRUCTOR) > ; (METHOD ELEPHANT:STRUCT-CONSTRUCTOR (T)) > ;;;*** Warning in ELEPHANT::SERIALIZE-TO-BASE64-STRING: > ELEPHANT::OUT-BUF assumed special > ; ELEPHANT::SERIALIZE-TO-BASE64-STRING > ; ELEPHANT::CONVERT-BUFFER-TO-BASE64-STRING > ;;;*** Warning in ELEPHANT::DESERIALIZE-FROM-BASE64-STRING: > ELEPHANT::OTHER assumed special > ; ELEPHANT::DESERIALIZE-FROM-BASE64-STRING > ;;;*** Warning in ELEPHANT::CONVERT-BUFFER-FROM-BASE64-STRING: > ELEPHANT::TARGET assumed special > ; ELEPHANT::CONVERT-BUFFER-FROM-BASE64-STRING > ; (DEFCONSTANT ELEPHANT::+RESERVED-DBINFO+) > ; (DEFCONSTANT ELEPHANT::+ELEPHANT-VERSION+) > ; (DEFCONSTANT ELEPHANT::+ELEPHANT-SERIALIZER-VERSION+) > ; ELEPHANT:SERIALIZE-DATABASE-VERSION-KEY > ; ELEPHANT:SERIALIZE-DATABASE-VERSION-VALUE > ; ELEPHANT:DESERIALIZE-DATABASE-VERSION-VALUE > ; ELEPHANT::SERIALIZE-DATABASE-SERIALIZER-VERSION-KEY > ; ELEPHANT:SERIALIZE-DATABASE-SERIALIZER-VERSION-VALUE > ; ELEPHANT:DESERIALIZE-DATABASE-SERIALIZER-VERSION-VALUE > ;;;*** Warning in ELEPHANT::SERIALIZE-RESERVED-TAG: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT::SERIALIZE-RESERVED-TAG: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ; ELEPHANT::SERIALIZE-RESERVED-TAG > ;;;*** Warning in ELEPHANT::SERIALIZE-SYSTEM-TAG: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT::SERIALIZE-SYSTEM-TAG: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ; ELEPHANT::SERIALIZE-SYSTEM-TAG > ;;;*** Warning in ELEPHANT::SERIALIZE-SYSTEM-INTEGER: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT::SERIALIZE-SYSTEM-INTEGER: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ; ELEPHANT::SERIALIZE-SYSTEM-INTEGER > ;;;*** Warning in ELEPHANT::DESERIALIZE-SYSTEM-INTEGER: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT::DESERIALIZE-SYSTEM-INTEGER: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ; ELEPHANT::DESERIALIZE-SYSTEM-INTEGER > ; ELEPHANT:SLOTS-AND-VALUES > ; ELEPHANT:STRUCT-SLOTS-AND-VALUES > ; (TOP-LEVEL-FORM 3) > ; (DEFVAR ELEPHANT::ARRAY-TYPE-TO-BYTE) > ; (DEFVAR ELEPHANT::BYTE-TO-ARRAY-TYPE) > ; (TOP-LEVEL-FORM 4) > ; (TOP-LEVEL-FORM 5) > ; (TOP-LEVEL-FORM 6) > ; (TOP-LEVEL-FORM 7) > ; (TOP-LEVEL-FORM 8) > ; (TOP-LEVEL-FORM 9) > ; (TOP-LEVEL-FORM 10) > ; (TOP-LEVEL-FORM 11) > ; (TOP-LEVEL-FORM 12) > ; ELEPHANT::TYPE= > ; (TOP-LEVEL-FORM 13) > ; (TOP-LEVEL-FORM 14) > ; ELEPHANT::ARRAY-TYPE-FROM-BYTE > ; ELEPHANT::BYTE-FROM-ARRAY-TYPE > ; ELEPHANT:INT-BYTE-SPEC > ; (TOP-LEVEL-FORM 15) > Warning: COMPILE-FILE warned while performing # 2169D61B> on #. > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\serializer.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \serializer1.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFPACKAGE "ELEPHANT-SERIALIZER1") > ; (TOP-LEVEL-FORM 3) > ; (TOP-LEVEL-FORM 4) > ; (DEFTYPE ELEPHANT-SERIALIZER1::FOREIGN-CHAR) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+FIXNUM+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+CHAR+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+SINGLE-FLOAT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+DOUBLE-FLOAT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+NEGATIVE-BIGNUM+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+POSITIVE-BIGNUM+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+RATIONAL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+NIL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS1-SYMBOL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS1-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS1-PATHNAME+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS2-SYMBOL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS2-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS2-PATHNAME+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS4-SYMBOL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS4-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+UCS4-PATHNAME+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+PERSISTENT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+CONS+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+HASH-TABLE+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+OBJECT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+ARRAY+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+RESERVED-DBINFO+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+FILL-POINTER-P+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER1::+ADJUSTABLE-P+) > ; (DEFVAR ELEPHANT-SERIALIZER1::*LISP-OBJ-ID*) > ; (DEFVAR ELEPHANT-SERIALIZER1::*CIRCULARITY-HASH*) > ; ELEPHANT-SERIALIZER1::CLEAR-CIRCULARITY-HASH > ; ELEPHANT-SERIALIZER1::SERIALIZE > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Ignoring type > declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT:INT-BYTE-SPEC not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT:INT-BYTE-SPEC not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ; ELEPHANT-SERIALIZER1::SERIALIZE > ; (DEFPARAMETER ELEPHANT-SERIALIZER1::*TRACE-SERIALIZER*) > ; (DEFPARAMETER ELEPHANT-SERIALIZER1::*TAG-TABLE*) > ; ELEPHANT-SERIALIZER1::ENABLE-SERIALIZER-TRACING > ; ELEPHANT-SERIALIZER1::DISABLE-SERIALIZER-TRACING > ; ELEPHANT-SERIALIZER1::PRINT-PRE-DESERIALIZE-TAG > ; ELEPHANT-SERIALIZER1::PRINT-POST-DESERIALIZE-TAG > ; ELEPHANT-SERIALIZER1::DESERIALIZE > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Ignoring type > declaration with illegal type (OR NULL ELEPHANT-MEMUTIL:BUFFER-STREAM) > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Ignoring type > declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS2-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-UCS1-STRING not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ; ELEPHANT-SERIALIZER1::DESERIALIZE > ; ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM: > Ignoring type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER- > STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM: Inline > expansion for ELEPHANT:INT-BYTE-SPEC not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM: Inline > expansion for ELEPHANT:INT-BYTE-SPEC not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM: Inline > expansion for ELEPHANT:INT-BYTE-SPEC not found > ;;;*** Warning in ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM: Inline > expansion for ELEPHANT:INT-BYTE-SPEC not found > ; ELEPHANT-SERIALIZER1::DESERIALIZE-BIGNUM > ; (TOP-LEVEL-FORM 5) > > ;; ** Automatic Minor Clean Down > Warning: COMPILE-FILE warned while performing # 2169D61B> on #. > Warning: COMPILE-FILE failed while performing # 2169D61B> on #. > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\serializer1.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \serializer2.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ; (DEFPACKAGE "ELEPHANT-SERIALIZER2") > ; (TOP-LEVEL-FORM 3) > ; (DEFTYPE ELEPHANT-SERIALIZER2::FOREIGN-CHAR) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+FIXNUM32+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+FIXNUM64+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+CHAR+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+SINGLE-FLOAT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+DOUBLE-FLOAT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+NEGATIVE-BIGNUM+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+POSITIVE-BIGNUM+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+RATIONAL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+UTF8-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+UTF16-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+UTF32-STRING+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+PATHNAME+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+SYMBOL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+PERSISTENT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+CONS+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+HASH-TABLE+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+OBJECT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+ARRAY+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+STRUCT+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+CLASS+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+NIL+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+RESERVED-DBINFO+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+FILL-POINTER-P+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+ADJUSTABLE-P+) > ; (DEFPARAMETER ELEPHANT-SERIALIZER2::*CIRCULARITY-HASH-QUEUE*) > ; (DEFVAR ELEPHANT-SERIALIZER2::*SERIALIZER-FAST-LOCK*) > ; ELEPHANT-SERIALIZER2::GET-CIRCULARITY-HASH > ; ELEPHANT-SERIALIZER2::RELEASE-CIRCULARITY-HASH > ; (DEFPARAMETER ELEPHANT-SERIALIZER2::*CIRCULARITY-VECTOR-QUEUE*) > ; ELEPHANT-SERIALIZER2::GET-CIRCULARITY-VECTOR > ; ELEPHANT-SERIALIZER2::RELEASE-CIRCULARITY-VECTOR > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+2^31+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+2^32+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+2^63+) > ; (DEFCONSTANT ELEPHANT-SERIALIZER2::+2^64+) > ; ELEPHANT-SERIALIZER2::SERIALIZE > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Ignoring type > declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT:SLOTS-AND-VALUES not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE: Inline expansion > for ELEPHANT-MEMUTIL:BUFFER-WRITE-INT32 not found > ; ELEPHANT-SERIALIZER2::SERIALIZE > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Ignoring > type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-WRITE-UINT32 not found > ; ELEPHANT-SERIALIZER2::SERIALIZE-BIGNUM > ; (DEFPARAMETER ELEPHANT-SERIALIZER2::*TRACE-DESERIALIZER*) > ; (DEFPARAMETER ELEPHANT-SERIALIZER2::*TAG-TABLE*) > ; ELEPHANT-SERIALIZER2::ENABLE-DESERIALIZER-TRACING > ; ELEPHANT-SERIALIZER2::DISABLE-DESERIALIZER-TRACING > ; ELEPHANT-SERIALIZER2::PRINT-PRE-DESERIALIZE-TAG > ; ELEPHANT-SERIALIZER2::PRINT-POST-DESERIALIZE-TAG > ; ELEPHANT-SERIALIZER2::DESERIALIZE > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Ignoring type > declaration with illegal type (OR NULL ELEPHANT-MEMUTIL:BUFFER-STREAM) > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Ignoring type > declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-BYTE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-INT32 not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-DOUBLE not found > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE: Inline > expansion for ELEPHANT-MEMUTIL:BUFFER-READ-FLOAT not found > ; ELEPHANT-SERIALIZER2::DESERIALIZE > ; ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM > ;;;*** Warning in ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM: > Ignoring type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER- > STREAM > ; ELEPHANT-SERIALIZER2::DESERIALIZE-BIGNUM > ; (TOP-LEVEL-FORM 4) > > ;; ** Automatic Minor Clean Down > Warning: COMPILE-FILE warned while performing # 2169D61B> on #. > Warning: COMPILE-FILE failed while performing # 2169D61B> on #. > ; Loading fasl file c:\lisp\binaries\lispworks-5.0.1-mswindows-x86 > \lisp\libraries\elephant\src\elephant\serializer2.ofasl > ;;; Compiling file c:\lisp\libraries\elephant\src\elephant > \unicode2.lisp ... > ;;; Safety = 3, Speed = 1, Space = 1, Float = 1, Interruptible = 0 > ;;; Compilation speed = 1, Debug = 2, Fixnum safety = 3 > ;;; Source level debugging is on > ;;; Source file recording is on > ;;; Cross referencing is on > ; (TOP-LEVEL-FORM 1) > ; (TOP-LEVEL-FORM 2) > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-STRING: Ignoring > type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > ; ELEPHANT-SERIALIZER2::SERIALIZE-STRING > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF8: Ignoring > type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER-STREAM > > > **++++ Error in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF8: > Badly formed lambda: (BUFFER BUFFER-STREAM-BUFFER) > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF16LE: > Ignoring type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER- > STREAM > > > **++++ Error in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF16LE: > Badly formed lambda: (BUFFER BUFFER-STREAM-BUFFER) > ;;;*** Warning in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF32LE: > Ignoring type declaration with illegal type ELEPHANT-MEMUTIL:BUFFER- > STREAM > > > **++++ Error in ELEPHANT-SERIALIZER2::SERIALIZE-TO-UTF32LE: > Badly formed lambda: (BUFFER BUFFER-STREAM-BUFFER) > ; (DEFPARAMETER ELEPHANT-SERIALIZER2::NATIVE-STRING-TYPE) > ; ELEPHANT-SERIALIZER2::COMPATIBLE-UNICODE-SUPPORT-P > ; (DEFGENERIC ELEPHANT-SERIALIZER2::DESERIALIZE-STRING) > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF8) T)): Ignoring type declaration with illegal type > ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF8) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER-READ- > INT32 not found > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF8) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER-READ- > INT32 not found > ; (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING ((EQL :UTF8) T)) > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF16LE) T)): Ignoring type declaration with illegal type > ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF16LE) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER- > READ-INT32 not found > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF16LE) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER- > READ-INT32 not found > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF16LE) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER- > READ-INT32 not found > ; (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING ((EQL :UTF16LE) T)) > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF32LE) T)): Ignoring type declaration with illegal type > ELEPHANT-MEMUTIL:BUFFER-STREAM > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF32LE) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER- > READ-INT32 not found > ;;;*** Warning in (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING > ((EQL :UTF32LE) T)): Inline expansion for ELEPHANT-MEMUTIL:BUFFER- > READ-INT32 not found > ; (METHOD ELEPHANT-SERIALIZER2::DESERIALIZE-STRING ((EQL :UTF32LE) T)) > ; (TOP-LEVEL-FORM 3) > ; *** 3 errors detected, no fasl file produced. > Warning: COMPILE-FILE warned while performing # 2169D61B> on #. > Warning: COMPILE-FILE failed while performing # 2169D61B> on #. > > > I hope it helps. > Frank > _____________________________________________________________________ > Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! > http://smartsurfer.web.de/?mc=100071&distributionid=000000000066 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From franks-muc at web.de Sun Mar 4 23:22:55 2007 From: franks-muc at web.de (Frank Schorr) Date: Mon, 05 Mar 2007 00:22:55 +0100 Subject: [elephant-devel] Tests on windows Message-ID: <436662828@web.de> Ok, I tried the latest cvs on Windows. This is BDB with ACL trial: 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE-TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. This is BDB on LispWorks 5.0.1: Exception C0000005 [flags 0] at 1541483 {inside foreign code} eax 0 ebx 153FED0 ecx 7F edx 16 esp 153FEA8 ebp 153FEC0 esi 21C1E8E3 edi E8 when calling %db-env-create Repairing this is far from what I can help with. I tried the postgresql-socket version then. This used to work with ACL and the last elephant version a while ago, before I learned to make the dlls. (asdf:operate 'asdf:load-op :elephant) (asdf:operate 'asdf:load-op :ele-clsql) (asdf:operate 'asdf:load-op :clsql-postgresql-socket) (asdf:operate 'asdf:load-op :elephant-tests) (do-backend-tests '(:clsql (:postgresql-socket "localhost" "clsql-tests" "postgres" "$postgres%"))) Warning: While accessing database # Warning: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" has occurred. Warning: POSTGRESQL-WARNING occurred on connection #S(POSTGRESQL-CONNECTION :HOST localhost :PORT 5432 :DATABASE clsql-tests :USER postgres :PASSWORD $postgres% :OPTIONS :TTY :SOCKET # :PID 3920 :KEY 1974900746). Reason: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" Error: While accessing database # with expression "create table keyvalue ( pk integer PRIMARY KEY DEFAULT nextval('serial'), clctn_id integer NOT NULL, key varchar NOT NULL, value varchar )": Error missing-result / Didn't receive result cursor for query. has occurred. [condition type: SQL-DATABASE-DATA-ERROR] Warning: While accessing database # Warning: WARNING: there is no transaction in progress has occurred. Warning: POSTGRESQL-WARNING occurred on connection #S(POSTGRESQL-CONNECTION :HOST localhost :PORT 5432 :DATABASE clsql-tests :USER postgres :PASSWORD $postgres% :OPTIONS :TTY :SOCKET # :PID 3772 :KEY 1674368639). Reason: WARNING: there is no transaction in progress Do you think postgresql-socket should run and the error is with my new installation of postgres/cl-sql ? It would be great if you made elephant available for Lispworks on windows. Frank _________________________________________________________________________ In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und gestalten! Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114 From eslick at csail.mit.edu Mon Mar 5 00:34:11 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sun, 4 Mar 2007 19:34:11 -0500 Subject: [elephant-devel] Tests on windows In-Reply-To: <436662828@web.de> References: <436662828@web.de> Message-ID: Interesting, BDB with ACL was clean for me (except for indexing-class- opt which fails everywhere right now). Can you tell me what the error outputs were? Darn, I was hoping you'd have an idea how to debug the lispworks failure. It's probably some pointer/type thing in Lispwork's UFFI. I'm not sure when, or if, I'll get to this. Try running the postgresql version again. Sometimes you have to open the SQL databases twice to get them to work properly. Thanks, Ian On Mar 4, 2007, at 6:22 PM, Frank Schorr wrote: > Ok, I tried the latest cvs on Windows. > > This is BDB with ACL trial: > > 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE- > TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. > > This is BDB on LispWorks 5.0.1: > > Exception C0000005 [flags 0] at 1541483 {inside foreign code} > eax 0 ebx 153FED0 ecx 7F edx 16 > esp 153FEA8 ebp 153FEC0 esi 21C1E8E3 edi E8 > > when calling %db-env-create > > Repairing this is far from what I can help with. > > > I tried the postgresql-socket version then. > This used to work with ACL and the last elephant version a while ago, > before I learned to make the dlls. > > > (asdf:operate 'asdf:load-op :elephant) > (asdf:operate 'asdf:load-op :ele-clsql) > (asdf:operate 'asdf:load-op :clsql-postgresql-socket) > (asdf:operate 'asdf:load-op :elephant-tests) > (do-backend-tests '(:clsql (:postgresql-socket "localhost" "clsql- > tests" "postgres" "$postgres%"))) > > > Warning: While accessing database # localhost/clsql-tests/postgres OPEN @ #x2115e65a> > Warning: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit > index "keyvalue_pkey" for table "keyvalue" > > has occurred. > Warning: POSTGRESQL-WARNING occurred on connection > #S(POSTGRESQL-CONNECTION :HOST localhost > :PORT 5432 > :DATABASE clsql-tests > :USER postgres > :PASSWORD $postgres% > :OPTIONS > :TTY > :SOCKET # socket connected from localhost/2413 to localhost/5432 @ #x2114e222> > :PID 3920 > :KEY 1974900746). > > Reason: NOTICE: CREATE TABLE / PRIMARY KEY will create > implicit index "keyvalue_pkey" for table "keyvalue" > > Error: While accessing database # localhost/clsql-tests/postgres OPEN @ #x2115e65a> > with expression "create table keyvalue ( > pk integer PRIMARY KEY DEFAULT nextval('serial'), > clctn_id integer NOT NULL, > key varchar NOT NULL, > value varchar > )": > Error missing-result / Didn't receive result cursor for query. > has occurred. > [condition type: SQL-DATABASE-DATA-ERROR] > Warning: While accessing database # localhost/clsql-tests/postgres OPEN @ #x2115e65a> > Warning: WARNING: there is no transaction in progress > > has occurred. > Warning: POSTGRESQL-WARNING occurred on connection > #S(POSTGRESQL-CONNECTION :HOST localhost > :PORT 5432 > :DATABASE clsql-tests > :USER postgres > :PASSWORD $postgres% > :OPTIONS > :TTY > :SOCKET # socket connected from localhost/2416 to localhost/5432 @ #x2117923a> > :PID 3772 > :KEY 1674368639). > > Reason: WARNING: there is no transaction in progress > > > Do you think postgresql-socket should run and the error is with my > new installation of postgres/cl-sql ? > > It would be great if you made elephant available for Lispworks on > windows. > > Frank > ______________________________________________________________________ > ___ > In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und > gestalten! > Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From read at robertlread.net Mon Mar 5 04:54:36 2007 From: read at robertlread.net (Robert L. Read) Date: Sun, 04 Mar 2007 22:54:36 -0600 Subject: [elephant-devel] Tests on windows In-Reply-To: References: <436662828@web.de> Message-ID: <1173070476.5313.124.camel@localhost.localdomain> On Sun, 2007-03-04 at 19:34 -0500, Ian Eslick wrote: > Interesting, BDB with ACL was clean for me (except for indexing-class- > opt which fails everywhere right now). Can you tell me what the > error outputs were? > > Darn, I was hoping you'd have an idea how to debug the lispworks > failure. It's probably some pointer/type thing in Lispwork's UFFI. > I'm not sure when, or if, I'll get to this. > > Try running the postgresql version again. Sometimes you have to open > the SQL databases twice to get them to work properly. Additionally, if it is an option, try the postgres connection that does not go through the socket. I would like to have both working, but have mainly tested with the direct connection. Tomorrow night I'll think about why the socket might be failing and test with it here on my machine. > > Thanks, > Ian > > > On Mar 4, 2007, at 6:22 PM, Frank Schorr wrote: > > > Ok, I tried the latest cvs on Windows. > > > > This is BDB with ACL trial: > > > > 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE- > > TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. > > > > This is BDB on LispWorks 5.0.1: > > > > Exception C0000005 [flags 0] at 1541483 {inside foreign code} > > eax 0 ebx 153FED0 ecx 7F edx 16 > > esp 153FEA8 ebp 153FEC0 esi 21C1E8E3 edi E8 > > > > when calling %db-env-create > > > > Repairing this is far from what I can help with. > > > > > > I tried the postgresql-socket version then. > > This used to work with ACL and the last elephant version a while ago, > > before I learned to make the dlls. > > > > > > (asdf:operate 'asdf:load-op :elephant) > > (asdf:operate 'asdf:load-op :ele-clsql) > > (asdf:operate 'asdf:load-op :clsql-postgresql-socket) > > (asdf:operate 'asdf:load-op :elephant-tests) > > (do-backend-tests '(:clsql (:postgresql-socket "localhost" "clsql- > > tests" "postgres" "$postgres%"))) > > > > > > Warning: While accessing database # > localhost/clsql-tests/postgres OPEN @ #x2115e65a> > > Warning: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit > > index "keyvalue_pkey" for table "keyvalue" > > > > has occurred. > > Warning: POSTGRESQL-WARNING occurred on connection > > #S(POSTGRESQL-CONNECTION :HOST localhost > > :PORT 5432 > > :DATABASE clsql-tests > > :USER postgres > > :PASSWORD $postgres% > > :OPTIONS > > :TTY > > :SOCKET # > socket connected from localhost/2413 to localhost/5432 @ #x2114e222> > > :PID 3920 > > :KEY 1974900746). > > > > Reason: NOTICE: CREATE TABLE / PRIMARY KEY will create > > implicit index "keyvalue_pkey" for table "keyvalue" > > > > Error: While accessing database # > localhost/clsql-tests/postgres OPEN @ #x2115e65a> > > with expression "create table keyvalue ( > > pk integer PRIMARY KEY DEFAULT nextval('serial'), > > clctn_id integer NOT NULL, > > key varchar NOT NULL, > > value varchar > > )": > > Error missing-result / Didn't receive result cursor for query. > > has occurred. > > [condition type: SQL-DATABASE-DATA-ERROR] > > Warning: While accessing database # > localhost/clsql-tests/postgres OPEN @ #x2115e65a> > > Warning: WARNING: there is no transaction in progress > > > > has occurred. > > Warning: POSTGRESQL-WARNING occurred on connection > > #S(POSTGRESQL-CONNECTION :HOST localhost > > :PORT 5432 > > :DATABASE clsql-tests > > :USER postgres > > :PASSWORD $postgres% > > :OPTIONS > > :TTY > > :SOCKET # > socket connected from localhost/2416 to localhost/5432 @ #x2117923a> > > :PID 3772 > > :KEY 1674368639). > > > > Reason: WARNING: there is no transaction in progress > > > > > > Do you think postgresql-socket should run and the error is with my > > new installation of postgres/cl-sql ? > > > > It would be great if you made elephant available for Lispworks on > > windows. > > > > Frank > > ______________________________________________________________________ > > ___ > > In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und > > gestalten! > > Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114 > > > > _______________________________________________ > > elephant-devel site list > > elephant-devel at common-lisp.net > > http://common-lisp.net/mailman/listinfo/elephant-devel > > _______________________________________________ > 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: From franks-muc at web.de Mon Mar 5 08:15:23 2007 From: franks-muc at web.de (Frank Schorr) Date: Mon, 05 Mar 2007 09:15:23 +0100 Subject: [elephant-devel] windows + ACL + BDB Message-ID: <436957872@web.de> > Interesting, BDB with ACL was clean for me (except for indexing-class- > opt which fails everywhere right now). Can you tell me what the > error outputs were? It depends on the history of the db, wherein I think I deleted the files before doing the tests yesterday. This is what I had: CG-USER(4): c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\src\memutil\libmemutil.dll ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\src\memutil\memutil.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\testbdb.fasl Doing 125 pending tests of 125 tests total. ELE-TESTS::FIXNUMS ELE-TESTS::FIXNUM-TYPE-1 ELE-TESTS::READ-32-BIT-FIXNUM ELE-TESTS::READ-64-BIT-FIXNUM ELE-TESTS::WRITE-32-BIT-FIXNUM ELE-TESTS::WRITE-64-BIT-FIXNUM ELE-TESTS::BIGNUMS ELE-TESTS::FLOATS ELE-TESTS::RATIONALS ELE-TESTS::BASE-STRINGS ELE-TESTS::STRINGS ELE-TESTS::HARD-STRINGS ELE-TESTS::SYMBOLS ELE-TESTS::CHARS ELE-TESTS::PATHNAMES ELE-TESTS::CONSES ELE-TESTS::HASH-TABLES-1 ELE-TESTS::HASH-TABLES-2 ELE-TESTS::ARRAYS-1 ELE-TESTS::ARRAYS-2 ELE-TESTS::TEST-DEEP-EQUALP ELE-TESTS::OBJECTS ELE-TESTS::STRUCTS ELE-TESTS::STRUCT-NON-STD-CONSTRUCT ELE-TESTS::CIRCULAR ELE:PERSISTENT ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-1 ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-2 ELE-TESTS::TRANSIENT-CLASS-SLOT ELE-TESTS::CLASS-DEFINERS ELE-TESTS::BAD-INHERITENCE ELE-TESTS::MIXES ELE-TESTS::MIXES-RIGHT-SLOTS ELE-TESTS::INHERIT ELE-TESTS::INHERIT-RIGHT-SLOTS ELE-TESTS::INITFORM-CLASSES ELE-TESTS::INITFORM-TEST ELE-TESTS::INITARG-TEST ELE-TESTS::NO-EVAL-INITFORM ELE-TESTS::REDEFCLASS MAKUNBOUND ELE-TESTS::UPDATE-CLASS CHANGE-CLASS ELE-TESTS::CHANGE-CLASS3 ELE-TESTS::BASICPERSISTENCE ELE-TESTS::TESTOID ELE-TESTS::BTREE-MAKE ELE-TESTS::BTREE-PUT ELE-TESTS::BTREE-GET ELE:REMOVE-KV ELE-TESTS::REMOVED ELE:MAP-BTREE ELE-TESTS::INDEXED-BTREE-MAKE ELE-TESTS::ADD-INDICES ELE-TESTS::TEST-INDICES ELE-TESTS::INDEXED-PUT ELE-TESTS::INDEXED-GET ELE-TESTS::SIMPLE-SLOT-GET ELE-TESTS::INDEXED-GET-FROM-SLOT1 ELE-TESTS::INDEXED-GET-FROM-SLOT2 ELE-TESTS::REMOVE-KV-INDEXED ELE-TESTS::NO-KEY-NOR-INDICES ELE-TESTS::REMOVE-KV-FROM-SLOT1 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1 ELE-TESTS::REMOVE-KV-FROM-SLOT2 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2 ELE-TESTS::MAP-INDEXED ELE-TESTS::GET-FIRST ELE-TESTS::GET-FIRST2 ELE-TESTS::GET-LAST ELE-TESTS::GET-LAST2 SET ELE-TESTS::SET2 ELE-TESTS::SET-RANGE ELE-TESTS::SET-RANGE2 ELE-TESTS::MAP-INDEXED-INDEX ELE-TESTS::REM-KV ELE-TESTS::REM-IDEXKV ELE-TESTS::MAKE-INDEXED2 ELE-TESTS::ADD-INDICES2 ELE-TESTS::PUT-INDEXED2 ELE-TESTS::GET-INDEXED2 ELE-TESTS::GET-FROM-INDEX3 ELE-TESTS::DUP-TEST ELE-TESTS::NODUP-TEST ELE-TESTS::PREV-NODUP-TEST ELE-TESTS::PNODUP-TEST ELE-TESTS::PPREV-NODUP-TEST ELE-TESTS::CUR-DEL1 ELE-TESTS::INDEXED-DELETE ELE-TESTS::TEST-DELETED ELE-TESTS::INDEXED-DELETE2 ELE-TESTS::TEST-DELETED2 ELE-TESTS::CUR-DEL2 ELE-TESTS::GET-BOTH ELE-TESTS::PGET-BOTH ELE-TESTS::PGET-BOTH-RANGE ELE-TESTS::PCURSOR ELE-TESTS::NEWINDEX ELE-TESTS::PCURSOR2 ELE-TESTS::ADD-GET-REMOVE ELE-TESTS::ADD-GET-REMOVE-SYMBOL ELE-TESTS::EXISTSP Warning: Manually finalizing class IDX-ONE ELE-TESTS::DISABLE-CLASS-INDEXING-TEST ELE-TESTS::INDEXING-BASIC-TRIVIAL ELE-TESTS::INDEXING-BASIC Test ELE-TESTS::INDEXING-CLASS-OPT failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-CSLOT :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-CSLOT) NIL)) (DEFCLASS ELE-TESTS::IDX-CSLOT NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS :INDEX T)) (VALUES (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT))) Expected value: T Actual value: NIL. ELE-TESTS::INDEXING-INHERIT Warning: Manually finalizing class IDX-FOUR ELE-TESTS::INDEXING-RANGE Test ELE-TESTS::INDEXING-SLOT-MAKUNBOUND failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-UNBOUND-DEL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-UNBOUND-DEL :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) (DEFCLASS ELE-TESTS::IDX-UNBOUND-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (MAKE-INSTANCE 'ELE-TESTS::IDX-UNBOUND-DEL :SLOT1 10)) (LET ((ELE-TESTS::ORIG-LEN (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) (ELE-TESTS::ORIG-OBJ (ELE:GET-INSTANCE-BY-VALUE 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) (SLOT-MAKUNBOUND ELE-TESTS::ORIG-OBJ 'ELE-TESTS::SLOT1) (LET ((ELE-TESTS::NEW-LEN (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) (ELE-TESTS::INDEX-OBJ (ELE:GET-INSTANCE-BY-VALUE 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) (VALUES ELE-TESTS::ORIG-LEN ELE-TESTS::NEW-LEN ELE-TESTS::INDEX-OBJ)))) Expected values: 1 1 NIL Actual values: 4 4 NIL. Warning: Manually finalizing class IDX-FIVE-DEL Test ELE-TESTS::INDEXING-WIPE-INDEX failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE-DEL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE-DEL :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:DROP-INSTANCES (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-FIVE-DEL)) (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE-DEL)) (LET ((ELE-TESTS::R1 (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1))) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (VALUES (EQ (LENGTH ELE-TESTS::R1) 1) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1)) (NULL (ELE:GET-INDEX (ELE:GET-VALUE 'ELE-TESTS::IDX-FIVE-DEL (ELE:CONTROLLER-CLASS-ROOT ELE:*STORE-CONTROLLER*)) 'ELE-TESTS::SLOT1))))) Expected values: T T T Actual value: #. Warning: Manually finalizing class IDX-FIVE ELE-TESTS::INDEXING-RECONNECT-DB Warning: Manually finalizing class IDX-SIX Warning: Manually finalizing class IDX-SEVEN ELE-TESTS::INDEXING-CHANGE-CLASS Warning: Manually finalizing class IDX-EIGHT ELE-TESTS::INDEXING-REDEF-CLASS Warning: Manually finalizing class STRESS-INDEX Ranged get of 10/700 objects = Linear: 0.942 sec Indexed: 0.02 sec ELE-TESTS::INDEXING-TIMING Single store mode: ignoring ELE-TESTS::REMOVE-ELEMENT Single store mode: ignoring ELE-TESTS::MIGRATE-BASIC Single store mode: ignoring ELE-TESTS::MIGRATE-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-IDX-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-PCLASS Single store mode: ignoring ELE-TESTS::MIGRATE-IPCLASS ELE-TESTS::PREPARES-BDB ELE-TESTS::TEST-SEQ1 ELE-TESTS::TEST-SEQ2 ELE-TESTS::CLEANSUP-BDB 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE-TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. NIL ************************************************* Now I deleted all files in the db directory and received this: 1 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT. Second and more times without deleting the files: Doing 125 pending tests of 125 tests total. ELE-TESTS::FIXNUMS ELE-TESTS::FIXNUM-TYPE-1 ELE-TESTS::READ-32-BIT-FIXNUM ELE-TESTS::READ-64-BIT-FIXNUM ELE-TESTS::WRITE-32-BIT-FIXNUM ELE-TESTS::WRITE-64-BIT-FIXNUM ELE-TESTS::BIGNUMS ELE-TESTS::FLOATS ELE-TESTS::RATIONALS ELE-TESTS::BASE-STRINGS ELE-TESTS::STRINGS ELE-TESTS::HARD-STRINGS ELE-TESTS::SYMBOLS ELE-TESTS::CHARS ELE-TESTS::PATHNAMES ELE-TESTS::CONSES ELE-TESTS::HASH-TABLES-1 ELE-TESTS::HASH-TABLES-2 ELE-TESTS::ARRAYS-1 ELE-TESTS::ARRAYS-2 ELE-TESTS::TEST-DEEP-EQUALP ELE-TESTS::OBJECTS ELE-TESTS::STRUCTS ELE-TESTS::STRUCT-NON-STD-CONSTRUCT ELE-TESTS::CIRCULAR ELE:PERSISTENT ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-1 ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-2 ELE-TESTS::TRANSIENT-CLASS-SLOT ELE-TESTS::CLASS-DEFINERS ELE-TESTS::BAD-INHERITENCE ELE-TESTS::MIXES ELE-TESTS::MIXES-RIGHT-SLOTS ELE-TESTS::INHERIT ELE-TESTS::INHERIT-RIGHT-SLOTS ELE-TESTS::INITFORM-CLASSES ELE-TESTS::INITFORM-TEST ELE-TESTS::INITARG-TEST ELE-TESTS::NO-EVAL-INITFORM ELE-TESTS::REDEFCLASS MAKUNBOUND ELE-TESTS::UPDATE-CLASS CHANGE-CLASS ELE-TESTS::CHANGE-CLASS3 ELE-TESTS::BASICPERSISTENCE ELE-TESTS::TESTOID ELE-TESTS::BTREE-MAKE ELE-TESTS::BTREE-PUT ELE-TESTS::BTREE-GET ELE:REMOVE-KV ELE-TESTS::REMOVED ELE:MAP-BTREE ELE-TESTS::INDEXED-BTREE-MAKE ELE-TESTS::ADD-INDICES ELE-TESTS::TEST-INDICES ELE-TESTS::INDEXED-PUT ELE-TESTS::INDEXED-GET ELE-TESTS::SIMPLE-SLOT-GET ELE-TESTS::INDEXED-GET-FROM-SLOT1 ELE-TESTS::INDEXED-GET-FROM-SLOT2 ELE-TESTS::REMOVE-KV-INDEXED ELE-TESTS::NO-KEY-NOR-INDICES ELE-TESTS::REMOVE-KV-FROM-SLOT1 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1 ELE-TESTS::REMOVE-KV-FROM-SLOT2 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2 ELE-TESTS::MAP-INDEXED ELE-TESTS::GET-FIRST ELE-TESTS::GET-FIRST2 ELE-TESTS::GET-LAST ELE-TESTS::GET-LAST2 SET ELE-TESTS::SET2 ELE-TESTS::SET-RANGE ELE-TESTS::SET-RANGE2 ELE-TESTS::MAP-INDEXED-INDEX ELE-TESTS::REM-KV ELE-TESTS::REM-IDEXKV ELE-TESTS::MAKE-INDEXED2 ELE-TESTS::ADD-INDICES2 ELE-TESTS::PUT-INDEXED2 ELE-TESTS::GET-INDEXED2 ELE-TESTS::GET-FROM-INDEX3 ELE-TESTS::DUP-TEST ELE-TESTS::NODUP-TEST ELE-TESTS::PREV-NODUP-TEST ELE-TESTS::PNODUP-TEST ELE-TESTS::PPREV-NODUP-TEST ELE-TESTS::CUR-DEL1 ELE-TESTS::INDEXED-DELETE ELE-TESTS::TEST-DELETED ELE-TESTS::INDEXED-DELETE2 ELE-TESTS::TEST-DELETED2 ELE-TESTS::CUR-DEL2 ELE-TESTS::GET-BOTH ELE-TESTS::PGET-BOTH ELE-TESTS::PGET-BOTH-RANGE ELE-TESTS::PCURSOR ELE-TESTS::NEWINDEX ELE-TESTS::PCURSOR2 ELE-TESTS::ADD-GET-REMOVE ELE-TESTS::ADD-GET-REMOVE-SYMBOL ELE-TESTS::EXISTSP Warning: Manually finalizing class IDX-ONE ELE-TESTS::DISABLE-CLASS-INDEXING-TEST ELE-TESTS::INDEXING-BASIC-TRIVIAL ELE-TESTS::INDEXING-BASIC Test ELE-TESTS::INDEXING-CLASS-OPT failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-CSLOT :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-CSLOT) NIL)) (DEFCLASS ELE-TESTS::IDX-CSLOT NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS :INDEX T)) (VALUES (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT))) Expected value: T Actual value: NIL. ELE-TESTS::INDEXING-INHERIT ELE-TESTS::INDEXING-RANGE ELE-TESTS::INDEXING-SLOT-MAKUNBOUND Warning: Manually finalizing class IDX-FIVE-DEL Test ELE-TESTS::INDEXING-WIPE-INDEX failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE-DEL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE-DEL :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:DROP-INSTANCES (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-FIVE-DEL)) (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE-DEL)) (LET ((ELE-TESTS::R1 (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1))) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (VALUES (EQ (LENGTH ELE-TESTS::R1) 1) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1)) (NULL (ELE:GET-INDEX (ELE:GET-VALUE 'ELE-TESTS::IDX-FIVE-DEL (ELE:CONTROLLER-CLASS-ROOT ELE:*STORE-CONTROLLER*)) 'ELE-TESTS::SLOT1))))) Expected values: T T T Actual value: #. ELE-TESTS::INDEXING-RECONNECT-DB ELE-TESTS::INDEXING-CHANGE-CLASS ELE-TESTS::INDEXING-REDEF-CLASS Ranged get of 10/700 objects = Linear: 1.713 sec Indexed: 0.02 sec ELE-TESTS::INDEXING-TIMING Single store mode: ignoring ELE-TESTS::REMOVE-ELEMENT Single store mode: ignoring ELE-TESTS::MIGRATE-BASIC Single store mode: ignoring ELE-TESTS::MIGRATE-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-IDX-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-PCLASS Single store mode: ignoring ELE-TESTS::MIGRATE-IPCLASS ELE-TESTS::PREPARES-BDB ELE-TESTS::TEST-SEQ1 ELE-TESTS::TEST-SEQ2 ELE-TESTS::CLEANSUP-BDB 2 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE-TESTS::INDEXING-WIPE-INDEX. NIL Now I can not reproduc the three errors. Frank _____________________________________________________________________ Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! http://smartsurfer.web.de/?mc=100071&distributionid=000000000066 From eslick at csail.mit.edu Mon Mar 5 14:27:15 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Mon, 5 Mar 2007 09:27:15 -0500 Subject: [elephant-devel] windows + ACL + BDB In-Reply-To: <436957872@web.de> References: <436957872@web.de> Message-ID: <34A56E36-6E2D-4F68-BFB9-2443BBA1AF1F@csail.mit.edu> That's pretty good then! I'm trying to remove the problems with repeated tests so I'll see if I reproduce your error on indexing-wipe- index. Ian On Mar 5, 2007, at 3:15 AM, Frank Schorr wrote: >> Interesting, BDB with ACL was clean for me (except for indexing- >> class- >> opt which fails everywhere right now). Can you tell me what the >> error outputs were? > > > > It depends on the history of the db, wherein I think I deleted the > files before > doing the tests yesterday. This is what I had: > > > CG-USER(4): c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp > \libraries\elephant\src\memutil\libmemutil.dll > ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp > \libraries\elephant\src\memutil\memutil.fasl > ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp > \libraries\elephant\tests\testbdb.fasl > Doing 125 pending tests of 125 tests total. > ELE-TESTS::FIXNUMS ELE-TESTS::FIXNUM-TYPE-1 ELE-TESTS::READ-32-BIT- > FIXNUM ELE-TESTS::READ-64-BIT-FIXNUM ELE-TESTS::WRITE-32-BIT-FIXNUM > ELE-TESTS::WRITE-64-BIT-FIXNUM ELE-TESTS::BIGNUMS ELE- > TESTS::FLOATS ELE-TESTS::RATIONALS ELE-TESTS::BASE-STRINGS ELE- > TESTS::STRINGS ELE-TESTS::HARD-STRINGS > ELE-TESTS::SYMBOLS ELE-TESTS::CHARS ELE-TESTS::PATHNAMES ELE- > TESTS::CONSES ELE-TESTS::HASH-TABLES-1 ELE-TESTS::HASH-TABLES-2 ELE- > TESTS::ARRAYS-1 > ELE-TESTS::ARRAYS-2 ELE-TESTS::TEST-DEEP-EQUALP ELE-TESTS::OBJECTS > ELE-TESTS::STRUCTS ELE-TESTS::STRUCT-NON-STD-CONSTRUCT ELE- > TESTS::CIRCULAR ELE:PERSISTENT > ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-1 ELE-TESTS::NON-TRANSIENT- > CLASS-SLOT-2 ELE-TESTS::TRANSIENT-CLASS-SLOT ELE-TESTS::CLASS- > DEFINERS ELE-TESTS::BAD-INHERITENCE > ELE-TESTS::MIXES ELE-TESTS::MIXES-RIGHT-SLOTS ELE-TESTS::INHERIT > ELE-TESTS::INHERIT-RIGHT-SLOTS ELE-TESTS::INITFORM-CLASSES ELE- > TESTS::INITFORM-TEST > ELE-TESTS::INITARG-TEST ELE-TESTS::NO-EVAL-INITFORM ELE- > TESTS::REDEFCLASS MAKUNBOUND ELE-TESTS::UPDATE-CLASS CHANGE-CLASS > ELE-TESTS::CHANGE-CLASS3 > ELE-TESTS::BASICPERSISTENCE ELE-TESTS::TESTOID ELE-TESTS::BTREE- > MAKE ELE-TESTS::BTREE-PUT ELE-TESTS::BTREE-GET ELE:REMOVE-KV ELE- > TESTS::REMOVED ELE:MAP-BTREE > ELE-TESTS::INDEXED-BTREE-MAKE ELE-TESTS::ADD-INDICES ELE- > TESTS::TEST-INDICES ELE-TESTS::INDEXED-PUT ELE-TESTS::INDEXED-GET > ELE-TESTS::SIMPLE-SLOT-GET > ELE-TESTS::INDEXED-GET-FROM-SLOT1 ELE-TESTS::INDEXED-GET-FROM- > SLOT2 ELE-TESTS::REMOVE-KV-INDEXED ELE-TESTS::NO-KEY-NOR-INDICES > ELE-TESTS::REMOVE-KV-FROM-SLOT1 > ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1 ELE-TESTS::REMOVE-KV-FROM- > SLOT2 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2 ELE-TESTS::MAP-INDEXED > ELE-TESTS::GET-FIRST > ELE-TESTS::GET-FIRST2 ELE-TESTS::GET-LAST ELE-TESTS::GET-LAST2 SET > ELE-TESTS::SET2 ELE-TESTS::SET-RANGE ELE-TESTS::SET-RANGE2 ELE- > TESTS::MAP-INDEXED-INDEX > ELE-TESTS::REM-KV ELE-TESTS::REM-IDEXKV ELE-TESTS::MAKE-INDEXED2 > ELE-TESTS::ADD-INDICES2 ELE-TESTS::PUT-INDEXED2 ELE-TESTS::GET- > INDEXED2 ELE-TESTS::GET-FROM-INDEX3 > ELE-TESTS::DUP-TEST ELE-TESTS::NODUP-TEST ELE-TESTS::PREV-NODUP- > TEST ELE-TESTS::PNODUP-TEST ELE-TESTS::PPREV-NODUP-TEST ELE- > TESTS::CUR-DEL1 > ELE-TESTS::INDEXED-DELETE ELE-TESTS::TEST-DELETED ELE- > TESTS::INDEXED-DELETE2 ELE-TESTS::TEST-DELETED2 ELE-TESTS::CUR-DEL2 > ELE-TESTS::GET-BOTH ELE-TESTS::PGET-BOTH > ELE-TESTS::PGET-BOTH-RANGE ELE-TESTS::PCURSOR ELE-TESTS::NEWINDEX > ELE-TESTS::PCURSOR2 ELE-TESTS::ADD-GET-REMOVE ELE-TESTS::ADD-GET- > REMOVE-SYMBOL ELE-TESTS::EXISTSP > Warning: Manually finalizing class IDX-ONE > ELE-TESTS::DISABLE-CLASS-INDEXING-TEST ELE-TESTS::INDEXING-BASIC- > TRIVIAL ELE-TESTS::INDEXING-BASIC > Test ELE-TESTS::INDEXING-CLASS-OPT failed > Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT) > (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX- > CSLOT :ERRORP NIL) > (SETF (FIND-CLASS 'ELE-TESTS::IDX-CSLOT) NIL)) > (DEFCLASS ELE-TESTS::IDX-CSLOT NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1)) > (:METACLASS ELE:PERSISTENT-METACLASS :INDEX T)) > (VALUES (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX- > CSLOT))) > Expected value: T > Actual value: NIL. > ELE-TESTS::INDEXING-INHERIT > Warning: Manually finalizing class IDX-FOUR > ELE-TESTS::INDEXING-RANGE > Test ELE-TESTS::INDEXING-SLOT-MAKUNBOUND failed > Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX- > UNBOUND-DEL) > (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-UNBOUND- > DEL :ERRORP NIL) > (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) > (DEFCLASS ELE-TESTS::IDX-UNBOUND-DEL NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE- > TESTS::SLOT1 :INDEX T)) > (:METACLASS ELE:PERSISTENT-METACLASS)) > (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE- > CONTROLLER*) (MAKE-INSTANCE 'ELE-TESTS::IDX-UNBOUND-DEL :SLOT1 10)) > (LET ((ELE-TESTS::ORIG-LEN (LENGTH (ELE:GET-INSTANCES- > BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) > (ELE-TESTS::ORIG-OBJ (ELE:GET-INSTANCE-BY-VALUE > 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) > (SLOT-MAKUNBOUND ELE-TESTS::ORIG-OBJ 'ELE-TESTS::SLOT1) > (LET ((ELE-TESTS::NEW-LEN (LENGTH (ELE:GET-INSTANCES- > BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) > (ELE-TESTS::INDEX-OBJ (ELE:GET-INSTANCE-BY- > VALUE 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) > (VALUES ELE-TESTS::ORIG-LEN ELE-TESTS::NEW-LEN ELE- > TESTS::INDEX-OBJ)))) > Expected values: 1 > 1 > NIL > Actual values: 4 > 4 > NIL. > Warning: Manually finalizing class IDX-FIVE-DEL > Test ELE-TESTS::INDEXING-WIPE-INDEX failed > Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE- > DEL) > (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE- > DEL :ERRORP NIL) > (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) > (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE- > TESTS::SLOT1 :INDEX T)) > (:METACLASS ELE:PERSISTENT-METACLASS)) > (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE- > CONTROLLER*) > (ELE:DROP-INSTANCES (ELE:GET-INSTANCES-BY-CLASS 'ELE- > TESTS::IDX-FIVE-DEL)) > (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE-DEL)) > (LET ((ELE-TESTS::R1 (ELE:GET-INSTANCES-BY-VALUE 'ELE- > TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1))) > (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) > (:METACLASS ELE:PERSISTENT-METACLASS)) > (VALUES (EQ (LENGTH ELE-TESTS::R1) 1) (ELE- > TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX- > FIVE-DEL 'ELE-TESTS::SLOT1 1)) > (NULL (ELE:GET-INDEX (ELE:GET-VALUE 'ELE- > TESTS::IDX-FIVE-DEL (ELE:CONTROLLER-CLASS-ROOT ELE:*STORE- > CONTROLLER*)) 'ELE-TESTS::SLOT1))))) > Expected values: T > T > T > Actual value: #. > Warning: Manually finalizing class IDX-FIVE > ELE-TESTS::INDEXING-RECONNECT-DB > Warning: Manually finalizing class IDX-SIX > Warning: Manually finalizing class IDX-SEVEN > ELE-TESTS::INDEXING-CHANGE-CLASS > Warning: Manually finalizing class IDX-EIGHT > ELE-TESTS::INDEXING-REDEF-CLASS > Warning: Manually finalizing class STRESS-INDEX > > Ranged get of 10/700 objects = Linear: 0.942 sec Indexed: 0.02 sec > ELE-TESTS::INDEXING-TIMING > Single store mode: ignoring ELE-TESTS::REMOVE-ELEMENT > Single store mode: ignoring ELE-TESTS::MIGRATE-BASIC > Single store mode: ignoring ELE-TESTS::MIGRATE-BTREE > Single store mode: ignoring ELE-TESTS::MIGRATE-IDX-BTREE > Single store mode: ignoring ELE-TESTS::MIGRATE-PCLASS > Single store mode: ignoring ELE-TESTS::MIGRATE-IPCLASS ELE- > TESTS::PREPARES-BDB ELE-TESTS::TEST-SEQ1 ELE-TESTS::TEST-SEQ2 ELE- > TESTS::CLEANSUP-BDB > 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE- > TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. > NIL > > ************************************************* > > Now I deleted all files in the db directory and received this: > > 1 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT. > > Second and more times without deleting the files: > > Doing 125 pending tests of 125 tests total. > ELE-TESTS::FIXNUMS ELE-TESTS::FIXNUM-TYPE-1 ELE-TESTS::READ-32-BIT- > FIXNUM ELE-TESTS::READ-64-BIT-FIXNUM ELE-TESTS::WRITE-32-BIT-FIXNUM > ELE-TESTS::WRITE-64-BIT-FIXNUM ELE-TESTS::BIGNUMS ELE- > TESTS::FLOATS ELE-TESTS::RATIONALS ELE-TESTS::BASE-STRINGS ELE- > TESTS::STRINGS ELE-TESTS::HARD-STRINGS > ELE-TESTS::SYMBOLS ELE-TESTS::CHARS ELE-TESTS::PATHNAMES ELE- > TESTS::CONSES ELE-TESTS::HASH-TABLES-1 ELE-TESTS::HASH-TABLES-2 ELE- > TESTS::ARRAYS-1 > ELE-TESTS::ARRAYS-2 ELE-TESTS::TEST-DEEP-EQUALP ELE-TESTS::OBJECTS > ELE-TESTS::STRUCTS ELE-TESTS::STRUCT-NON-STD-CONSTRUCT ELE- > TESTS::CIRCULAR ELE:PERSISTENT > ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-1 ELE-TESTS::NON-TRANSIENT- > CLASS-SLOT-2 ELE-TESTS::TRANSIENT-CLASS-SLOT ELE-TESTS::CLASS- > DEFINERS ELE-TESTS::BAD-INHERITENCE > ELE-TESTS::MIXES ELE-TESTS::MIXES-RIGHT-SLOTS ELE-TESTS::INHERIT > ELE-TESTS::INHERIT-RIGHT-SLOTS ELE-TESTS::INITFORM-CLASSES ELE- > TESTS::INITFORM-TEST > ELE-TESTS::INITARG-TEST ELE-TESTS::NO-EVAL-INITFORM ELE- > TESTS::REDEFCLASS MAKUNBOUND ELE-TESTS::UPDATE-CLASS CHANGE-CLASS > ELE-TESTS::CHANGE-CLASS3 > ELE-TESTS::BASICPERSISTENCE ELE-TESTS::TESTOID ELE-TESTS::BTREE- > MAKE ELE-TESTS::BTREE-PUT ELE-TESTS::BTREE-GET ELE:REMOVE-KV ELE- > TESTS::REMOVED ELE:MAP-BTREE > ELE-TESTS::INDEXED-BTREE-MAKE ELE-TESTS::ADD-INDICES ELE- > TESTS::TEST-INDICES ELE-TESTS::INDEXED-PUT ELE-TESTS::INDEXED-GET > ELE-TESTS::SIMPLE-SLOT-GET > ELE-TESTS::INDEXED-GET-FROM-SLOT1 ELE-TESTS::INDEXED-GET-FROM- > SLOT2 ELE-TESTS::REMOVE-KV-INDEXED ELE-TESTS::NO-KEY-NOR-INDICES > ELE-TESTS::REMOVE-KV-FROM-SLOT1 > ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1 ELE-TESTS::REMOVE-KV-FROM- > SLOT2 ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2 ELE-TESTS::MAP-INDEXED > ELE-TESTS::GET-FIRST > ELE-TESTS::GET-FIRST2 ELE-TESTS::GET-LAST ELE-TESTS::GET-LAST2 SET > ELE-TESTS::SET2 ELE-TESTS::SET-RANGE ELE-TESTS::SET-RANGE2 ELE- > TESTS::MAP-INDEXED-INDEX > ELE-TESTS::REM-KV ELE-TESTS::REM-IDEXKV ELE-TESTS::MAKE-INDEXED2 > ELE-TESTS::ADD-INDICES2 ELE-TESTS::PUT-INDEXED2 ELE-TESTS::GET- > INDEXED2 ELE-TESTS::GET-FROM-INDEX3 > ELE-TESTS::DUP-TEST ELE-TESTS::NODUP-TEST ELE-TESTS::PREV-NODUP- > TEST ELE-TESTS::PNODUP-TEST ELE-TESTS::PPREV-NODUP-TEST ELE- > TESTS::CUR-DEL1 > ELE-TESTS::INDEXED-DELETE ELE-TESTS::TEST-DELETED ELE- > TESTS::INDEXED-DELETE2 ELE-TESTS::TEST-DELETED2 ELE-TESTS::CUR-DEL2 > ELE-TESTS::GET-BOTH ELE-TESTS::PGET-BOTH > ELE-TESTS::PGET-BOTH-RANGE ELE-TESTS::PCURSOR ELE-TESTS::NEWINDEX > ELE-TESTS::PCURSOR2 ELE-TESTS::ADD-GET-REMOVE ELE-TESTS::ADD-GET- > REMOVE-SYMBOL ELE-TESTS::EXISTSP > Warning: Manually finalizing class IDX-ONE > ELE-TESTS::DISABLE-CLASS-INDEXING-TEST ELE-TESTS::INDEXING-BASIC- > TRIVIAL ELE-TESTS::INDEXING-BASIC > Test ELE-TESTS::INDEXING-CLASS-OPT failed > Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT) > (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX- > CSLOT :ERRORP NIL) > (SETF (FIND-CLASS 'ELE-TESTS::IDX-CSLOT) NIL)) > (DEFCLASS ELE-TESTS::IDX-CSLOT NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1)) > (:METACLASS ELE:PERSISTENT-METACLASS :INDEX T)) > (VALUES (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX- > CSLOT))) > Expected value: T > Actual value: NIL. > ELE-TESTS::INDEXING-INHERIT ELE-TESTS::INDEXING-RANGE ELE- > TESTS::INDEXING-SLOT-MAKUNBOUND > Warning: Manually finalizing class IDX-FIVE-DEL > Test ELE-TESTS::INDEXING-WIPE-INDEX failed > Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE- > DEL) > (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE- > DEL :ERRORP NIL) > (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) > (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE- > TESTS::SLOT1 :INDEX T)) > (:METACLASS ELE:PERSISTENT-METACLASS)) > (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE- > CONTROLLER*) > (ELE:DROP-INSTANCES (ELE:GET-INSTANCES-BY-CLASS 'ELE- > TESTS::IDX-FIVE-DEL)) > (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE-DEL)) > (LET ((ELE-TESTS::R1 (ELE:GET-INSTANCES-BY-VALUE 'ELE- > TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1))) > (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE- > TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) > (:METACLASS ELE:PERSISTENT-METACLASS)) > (VALUES (EQ (LENGTH ELE-TESTS::R1) 1) (ELE- > TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX- > FIVE-DEL 'ELE-TESTS::SLOT1 1)) > (NULL (ELE:GET-INDEX (ELE:GET-VALUE 'ELE- > TESTS::IDX-FIVE-DEL (ELE:CONTROLLER-CLASS-ROOT ELE:*STORE- > CONTROLLER*)) 'ELE-TESTS::SLOT1))))) > Expected values: T > T > T > Actual value: #. > ELE-TESTS::INDEXING-RECONNECT-DB ELE-TESTS::INDEXING-CHANGE-CLASS > ELE-TESTS::INDEXING-REDEF-CLASS > Ranged get of 10/700 objects = Linear: 1.713 sec Indexed: 0.02 sec > ELE-TESTS::INDEXING-TIMING > Single store mode: ignoring ELE-TESTS::REMOVE-ELEMENT > Single store mode: ignoring ELE-TESTS::MIGRATE-BASIC > Single store mode: ignoring ELE-TESTS::MIGRATE-BTREE > Single store mode: ignoring ELE-TESTS::MIGRATE-IDX-BTREE > Single store mode: ignoring ELE-TESTS::MIGRATE-PCLASS > Single store mode: ignoring ELE-TESTS::MIGRATE-IPCLASS ELE- > TESTS::PREPARES-BDB ELE-TESTS::TEST-SEQ1 ELE-TESTS::TEST-SEQ2 ELE- > TESTS::CLEANSUP-BDB > 2 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE- > TESTS::INDEXING-WIPE-INDEX. > NIL > > > Now I can not reproduc the three errors. > > Frank > _____________________________________________________________________ > Der WEB.DE SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! > http://smartsurfer.web.de/?mc=100071&distributionid=000000000066 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From read at robertlread.net Tue Mar 6 04:14:22 2007 From: read at robertlread.net (Robert L. Read) Date: Mon, 05 Mar 2007 22:14:22 -0600 Subject: [elephant-devel] Tests on windows In-Reply-To: <436662828@web.de> References: <436662828@web.de> Message-ID: <1173154463.5313.197.camel@localhost.localdomain> Dear Frank, I just tried to get postgres-socket working. I had no problems at all---until I dropped my database and tried to recreate the tables via postgresql-socket, as you have done, and then I got the same error. Right at the moment, I can't conjecture if this is a but in CLSQL or in my usage of it. Apparently, you can work around this problem by opening the controller (which creates all the necessary tables) via the "postgresql" interface, and then using a postgresql-socket connection string. (I know that might not be acceptable, because one of the reasons one might use the socket interface is to avoid the need to use the Postgres libraries or to run on the same machine.) I will investigate a bit more and let you know if I can either fix the problem or work-around it in some other way. On Mon, 2007-03-05 at 00:22 +0100, Frank Schorr wrote: > Ok, I tried the latest cvs on Windows. > > This is BDB with ACL trial: > > 3 out of 125 total tests failed: ELE-TESTS::INDEXING-CLASS-OPT, ELE-TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX. > > This is BDB on LispWorks 5.0.1: > > Exception C0000005 [flags 0] at 1541483 {inside foreign code} > eax 0 ebx 153FED0 ecx 7F edx 16 > esp 153FEA8 ebp 153FEC0 esi 21C1E8E3 edi E8 > > when calling %db-env-create > > Repairing this is far from what I can help with. > > > I tried the postgresql-socket version then. > This used to work with ACL and the last elephant version a while ago, > before I learned to make the dlls. > > > (asdf:operate 'asdf:load-op :elephant) > (asdf:operate 'asdf:load-op :ele-clsql) > (asdf:operate 'asdf:load-op :clsql-postgresql-socket) > (asdf:operate 'asdf:load-op :elephant-tests) > (do-backend-tests '(:clsql (:postgresql-socket "localhost" "clsql-tests" "postgres" "$postgres%"))) > > > Warning: While accessing database # > Warning: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" > > has occurred. > Warning: POSTGRESQL-WARNING occurred on connection > #S(POSTGRESQL-CONNECTION :HOST localhost > :PORT 5432 > :DATABASE clsql-tests > :USER postgres > :PASSWORD $postgres% > :OPTIONS > :TTY > :SOCKET # > :PID 3920 > :KEY 1974900746). > > Reason: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" > > Error: While accessing database # > with expression "create table keyvalue ( > pk integer PRIMARY KEY DEFAULT nextval('serial'), > clctn_id integer NOT NULL, > key varchar NOT NULL, > value varchar > )": > Error missing-result / Didn't receive result cursor for query. > has occurred. > [condition type: SQL-DATABASE-DATA-ERROR] > Warning: While accessing database # > Warning: WARNING: there is no transaction in progress > > has occurred. > Warning: POSTGRESQL-WARNING occurred on connection > #S(POSTGRESQL-CONNECTION :HOST localhost > :PORT 5432 > :DATABASE clsql-tests > :USER postgres > :PASSWORD $postgres% > :OPTIONS > :TTY > :SOCKET # > :PID 3772 > :KEY 1674368639). > > Reason: WARNING: there is no transaction in progress > > > Do you think postgresql-socket should run and the error is with my new installation of postgres/cl-sql ? > > It would be great if you made elephant available for Lispworks on windows. > > Frank > _________________________________________________________________________ > In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und gestalten! > Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114 > > _______________________________________________ > 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: From read at robertlread.net Tue Mar 6 04:50:05 2007 From: read at robertlread.net (Robert L. Read) Date: Mon, 05 Mar 2007 22:50:05 -0600 Subject: [elephant-devel] Tests on windows In-Reply-To: <1173154463.5313.197.camel@localhost.localdomain> References: <436662828@web.de> <1173154463.5313.197.camel@localhost.localdomain> Message-ID: <1173156605.5313.201.camel@localhost.localdomain> Dear Frank, I have committed a change which fixes this problem for me in both the "postgresql" mode and the "postgresql-socket" mode. I was using the clsql::query command when I should have used clsql::execute-command. The clsql::postgresql-socket code checked the return condition, but the "postgresql" code was too lenient, and allowed my mistake. Let us know if it works for you now. On Mon, 2007-03-05 at 22:14 -0600, Robert L. Read wrote: > Dear Frank, > I just tried to get postgres-socket working. I had no problems at > all---until I dropped my database and tried to recreate the tables via > postgresql-socket, as you have done, and then I got the same error. > > Right at the moment, I can't conjecture if this is a but in CLSQL > or in my usage of it. Apparently, you can work around this problem by > opening the controller (which creates all the necessary tables) via > the "postgresql" interface, and then using a postgresql-socket > connection string. (I know that might not be acceptable, because one > of the reasons one might use the socket interface is to avoid the need > to use the Postgres libraries or to run on the same machine.) > > I will investigate a bit more and let you know if I can either fix > the problem or work-around it in some other way. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From franks-muc at web.de Wed Mar 7 01:23:36 2007 From: franks-muc at web.de (Frank Schorr) Date: Wed, 07 Mar 2007 02:23:36 +0100 Subject: [elephant-devel] windows + postgres-socket Message-ID: <439505132@web.de> Dear Robert, thank you for taking care of this. Well, two days ago I had a problem with my combination of clsql-3.8.1 and Postgesql 8.2.3. I stepped back to clsql-3.6.1 and Postgresql 8.1.8. Now all 236 tests of clsql are OK. I can assume that clsql and the db server can communicate through the socket. Unfortunately, the elephant-tests produce many errors with the the latest CVs version. The test result is reproduced below. I'm using these commands: (asdf:operate 'asdf:load-op :elephant) (asdf:operate 'asdf:load-op :ele-clsql) (asdf:operate 'asdf:load-op :clsql-postgresql-socket) (asdf:operate 'asdf:load-op :elephant-tests) (ele-tests::do-backend-tests '(:clsql (:postgresql-socket "localhost" "clsql-tests" "postgres" "$postgres%"))) The load-op for elephant-tests produces output registering # as ELEPHANT-TESTS-BDB May be the BDB tests interfere with clsql tests ? > string. (I know that might not be acceptable, because one of the > reasons one might use the socket interface is to avoid the need to use > the Postgres libraries or to run on the same machine.) I think the socket interface can also provide the poor man's solution for those who do not know the magic art of making dll's correctly. Best regards, Frank Schorr PS.: I just noticed from the clsql documentation that compiled dlls are supplied with it and will try this tomorrow. CG-USER(8): ; loading system definition from c:\lisp\libraries\elephant\elephant-tests.asd into # ; Loading c:\lisp\libraries\elephant\elephant-tests.asd ; registering # as ELEPHANT-TESTS ; registering # as ELEPHANT-TESTS-BDB ; loading system definition from c:\lisp\libraries\rt-20040621\rt.asd into # ; Loading c:\lisp\libraries\rt-20040621\rt.asd ; registering # as RT ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\rt-20040621\rt.fasl c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\src\memutil\libmemutil.dll ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\src\memutil\memutil.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\elephant-tests.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\testserializer.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\mop-tests.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\testcollections.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\testindexing.fasl ; Fast loading c:\lisp\binaries\allegro-a8.0-mswindows-x86\lisp\libraries\elephant\tests\testmigration.fasl NIL CG-USER(9): Warning: While accessing database # Warning: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" has occurred. Warning: POSTGRESQL-WARNING occurred on connection #S(POSTGRESQL-CONNECTION :HOST localhost :PORT 5432 :DATABASE clsql-tests :USER postgres :PASSWORD $postgres% :OPTIONS :TTY :SOCKET # :PID 3808 :KEY 497828741). Reason: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "keyvalue_pkey" for table "keyvalue" Doing 357 pending tests of 357 tests total. :INT/CONVERT/1 :INT/CONVERT/2 :INT/CONVERT/3 :INT/CONVERT/4 :INT/CONVERT/5 Test :CONNECTION/1 failed Form: (LET ((CLSQL-SYS:DATABASE (CLSQL-SYS:FIND-DATABASE (CLSQL-SYS:DATABASE-NAME CLSQL-SYS:*DEFAULT-DATABASE*) :DB-TYPE (CLSQL-SYS:DATABASE-TYPE CLSQL-SYS:*DEFAULT-DATABASE*)))) (EQL (CLSQL-SYS:DATABASE-TYPE CLSQL-SYS:DATABASE) CLSQL-TESTS::*TEST-DATABASE-TYPE*)) Expected value: T Actual value: #. :CONNECTION/2 :CONNECTION/3 :BASIC/TYPE/1 :BASIC/TYPE/2 :BASIC/SELECT/1 :BASIC/SELECT/2 :BASIC/SELECT/3 :BASIC/MAP/1 :BASIC/MAP/2 :BASIC/MAP/3 :BASIC/MAP/4 :BASIC/DO/1 :BASIC/DO/2 :BASIC/BIGINT/1 Test :FDDL/TABLE/1 failed Form: (SORT (MAPCAR #'STRING-DOWNCASE (CLSQL-SYS:LIST-TABLES :OWNER CLSQL-TESTS::*TEST-DATABASE-USER*)) #'STRING<) Expected value: ("addr" "big" "company" "ea_join" "employee" "type_bigint" "type_table") Actual value: ("addr" "big" "company" "ea_join" "employee" "keyvalue" "type_bigint" "type_table" "version"). :FDDL/TABLE/2 :FDDL/TABLE/3 :FDDL/TABLE/4 :FDDL/TABLE/5 :FDDL/TABLE/6 :FDDL/TABLE/7 :FDDL/ATTRIBUTES/1 :FDDL/ATTRIBUTES/2 :FDDL/ATTRIBUTES/3 :FDDL/ATTRIBUTES/4 :FDDL/ATTRIBUTES/5 :FDDL/ATTRIBUTES/6 :FDDL/ATTRIBUTES/7 :FDDL/VIEW/1 :FDDL/VIEW/2 :FDDL/VIEW/3 :FDDL/VIEW/4 :FDDL/INDEX/1 :FDDL/INDEX/2 :FDDL/INDEX/3 :FDDL/SEQUENCE/1 :FDDL/SEQUENCE/2 :FDDL/SEQUENCE/3 :FDDL/BIG/1 :FDDL/OWNER/1 :FDDL/CACHE-TABLE-QUERIES/1 :FDML/INSERT/1 :FDML/INSERT/2 :FDML/INSERT/3 :FDML/INSERT/4 :FDML/UPDATE/1 :FDML/UPDATE/2 :FDML/QUERY/1 :FDML/QUERY/2 :FDML/QUERY/3 :FDML/QUERY/4 :FDML/QUERY/5 :FDML/QUERY/6 :FDML/QUERY/7 :FDML/QUERY/8 :FDML/EXECUTE-COMMAND/1 :FDML/SELECT/1 :FDML/SELECT/2 :FDML/SELECT/3 :FDML/SELECT/4 :FDML/SELECT/5 :FDML/SELECT/6 :FDML/SELECT/7 :FDML/SELECT/8 :FDML/SELECT/9 :FDML/SELECT/10 :FDML/SELECT/11 :FDML/SELECT/12 :FDML/SELECT/13 :FDML/SELECT/14 :FDML/SELECT/15 :FDML/SELECT/16 :FDML/SELECT/17 :FDML/SELECT/18 :FDML/SELECT/19 :FDML/SELECT/20 :FDML/SELECT/21 :FDML/SELECT/22 :FDML/SELECT/23 :FDML/SELECT/24 :FDML/SELECT/25 :FDML/SELECT/26 :FDML/SELECT/27 :FDML/SELECT/28 :FDML/SELECT/29 :FDML/SELECT/30 :FDML/SELECT/31 :FDML/SELECT/32 :FDML/SELECT/33 :FDML/SELECT/34 :FDML/SELECT/35 :FDML/SELECT/36 :FDML/SELECT/37 :FDML/SELECT/38 :FDML/DO-QUERY/1 :FDML/MAP-QUERY/1 :FDML/MAP-QUERY/2 :FDML/MAP-QUERY/3 :FDML/MAP-QUERY/4 :FDML/LOOP/1 :FDML/LOOP/2 :FDML/LOOP/3 :FDML/TRANSACTION/1 :FDML/TRANSACTION/2 :FDML/TRANSACTION/3 :FDML/TRANSACTION/4 :OODDL/METACLASS/1 :OODDL/METACLASS/2 :OODDL/JOIN/1 :OODDL/JOIN/2 :OODDL/JOIN/3 :OODDL/TIME/1 :OODDL/TIME/2 :OODDL/TIME/3 :OODML/SELECT/1 :OODML/SELECT/2 :OODML/SELECT/3 :OODML/SELECT/4 :OODML/SELECT/5 :OODML/SELECT/6 :OODML/SELECT/7 :OODML/SELECT/8 :OODML/SELECT/9 :OODML/SELECT/10 :OODML/SELECT/11 :OODM/RETRIEVAL/1 :OODM/RETRIEVAL/2 :OODM/RETRIEVAL/3 :OODM/RETRIEVAL/4 :OODM/RETRIEVAL/5 :OODM/RETRIEVAL/6 :OODM/RETRIEVAL/7 :OODM/RETRIEVAL/8 :OODM/RETRIEVAL/9 Test :OODML/UPDATE-RECORDS/1 failed Form: (VALUES (PROGN (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN)))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) "Dimitriy" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) "Ivanovich" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "ivanovich at soviet.org") (CLSQL-SYS:UPDATE-RECORDS-FROM-INSTANCE CLSQL-TESTS::EMPLOYEE1) (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN)))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) "Vladimir" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) "Lenin" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "lenin at soviet.org") (CLSQL-SYS:UPDATE-RECORDS-FROM-INSTANCE CLSQL-TESTS::EMPLOYEE1) (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN))))) Expected values: "Vladimir Lenin: lenin at soviet.org" "Dimitriy Ivanovich: ivanovich at soviet.org" "Vladimir Lenin: lenin at soviet.org" Actual value: #. Test :OODML/UPDATE-RECORDS/2 failed Form: (VALUES (CLSQL-TESTS::EMPLOYEE-EMAIL (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "lenin-nospam at soviet.org") (CLSQL-SYS:UPDATE-RECORD-FROM-SLOT CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) (CLSQL-TESTS::EMPLOYEE-EMAIL (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "lenin at soviet.org") (CLSQL-SYS:UPDATE-RECORD-FROM-SLOT CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) (CLSQL-TESTS::EMPLOYEE-EMAIL (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL))))) Expected values: "lenin at soviet.org" "lenin-nospam at soviet.org" "lenin at soviet.org" Actual value: #. Test :OODML/UPDATE-RECORDS/3 failed Form: (VALUES (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) "Dimitriy" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) "Ivanovich" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "ivanovich at soviet.org") (CLSQL-SYS:UPDATE-RECORD-FROM-SLOTS CLSQL-TESTS::EMPLOYEE1 '(CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LAST-NAME CLSQL-TESTS::EMAIL)) (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN)))) (PROGN (SETF (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) "Vladimir" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) "Lenin" (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) "lenin at soviet.org") (CLSQL-SYS:UPDATE-RECORD-FROM-SLOTS CLSQL-TESTS::EMPLOYEE1 '(CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LAST-NAME CLSQL-TESTS::EMAIL)) (LET ((CLSQL-TESTS::LENIN (CAR (CLSQL-SYS:SELECT 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::EMPLID) 1) :FLATP T :CACHING NIL)))) (CONCATENATE 'STRING (CLSQL-TESTS::FIRST-NAME CLSQL-TESTS::LENIN) " " (CLSQL-TESTS::LAST-NAME CLSQL-TESTS::LENIN) ": " (CLSQL-TESTS::EMPLOYEE-EMAIL CLSQL-TESTS::LENIN))))) Expected values: "Vladimir Lenin: lenin at soviet.org" "Dimitriy Ivanovich: ivanovich at soviet.org" "Vladimir Lenin: lenin at soviet.org" Actual value: #. Test :OODML/UPDATE-INSTANCE/1 failed Form: (VALUES (CONCATENATE 'STRING (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) " " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) ": " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL)) (PROGN (CLSQL-SYS:UPDATE-RECORDS # :AV-PAIRS '((# "Ivan") (# "Petrov") (# "petrov at soviet.org")) :WHERE (CLSQL-SYS:SQL-= # 1)) (CLSQL-SYS:UPDATE-INSTANCE-FROM-RECORDS CLSQL-TESTS::EMPLOYEE1) (CONCATENATE 'STRING (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) " " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) ": " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL))) (PROGN (CLSQL-SYS:UPDATE-RECORDS # :AV-PAIRS '((# "Vladimir") (# "Lenin") (# "lenin at soviet.org")) :WHERE (CLSQL-SYS:SQL-= # 1)) (CLSQL-SYS:UPDATE-INSTANCE-FROM-RECORDS CLSQL-TESTS::EMPLOYEE1) (CONCATENATE 'STRING (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::FIRST-NAME) " " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::LAST-NAME) ": " (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL)))) Expected values: "Vladimir Lenin: lenin at soviet.org" "Ivan Petrov: petrov at soviet.org" "Vladimir Lenin: lenin at soviet.org" Actual value: #. Test :OODML/UPDATE-INSTANCE/2 failed Form: (VALUES (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) (PROGN (CLSQL-SYS:UPDATE-RECORDS # :AV-PAIRS '((# "lenin-nospam at soviet.org")) :WHERE (CLSQL-SYS:SQL-= # 1)) (CLSQL-SYS:UPDATE-SLOT-FROM-RECORD CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL)) (PROGN (CLSQL-SYS:UPDATE-RECORDS # :AV-PAIRS '((# "lenin at soviet.org")) :WHERE (CLSQL-SYS:SQL-= # 1)) (CLSQL-SYS:UPDATE-SLOT-FROM-RECORD CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL) (SLOT-VALUE CLSQL-TESTS::EMPLOYEE1 'CLSQL-TESTS::EMAIL))) Expected values: "lenin at soviet.org" "lenin-nospam at soviet.org" "lenin at soviet.org" Actual values: "ivanovich at soviet.org" "lenin-nospam at soviet.org" "lenin at soviet.org". Test :OODML/DO-QUERY/1 failed Form: (LET ((CLSQL-TESTS::RESULT 'NIL)) (CLSQL-SYS:DO-QUERY ((CLSQL-TESTS::E) (CLSQL-SYS:SQL-QUERY 'CLSQL-TESTS::EMPLOYEE :ORDER-BY #)) (PUSH (SLOT-VALUE CLSQL-TESTS::E 'CLSQL-TESTS::LAST-NAME) CLSQL-TESTS::RESULT)) CLSQL-TESTS::RESULT) Expected value: ("Putin" "Yeltsin" "Gorbachev" "Chernenko" "Andropov" "Brezhnev" "Kruschev" "Trotsky" "Stalin" "Lenin") Actual value: ("Putin" "Yeltsin" "Gorbachev" "Chernenko" "Andropov" "Brezhnev" "Kruschev" "Trotsky" "Stalin" "Petrov"). Test :OODML/DO-QUERY/2 failed Form: (LET ((CLSQL-TESTS::RESULT 'NIL)) (CLSQL-SYS:DO-QUERY ((CLSQL-TESTS::E CLSQL-TESTS::C) (CLSQL-SYS:SQL-QUERY 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::COMPANY :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::LAST-NAME) "Lenin"))) (PUSH (LIST (SLOT-VALUE CLSQL-TESTS::E 'CLSQL-TESTS::LAST-NAME) (SLOT-VALUE CLSQL-TESTS::C 'CLSQL-TESTS::NAME)) CLSQL-TESTS::RESULT)) CLSQL-TESTS::RESULT) Expected value: (("Lenin" "Widgets Inc.")) Actual value: NIL. Test :OODML/MAP-QUERY/1 failed Form: (CLSQL-SYS:MAP-QUERY 'LIST #'CLSQL-TESTS::LAST-NAME (CLSQL-SYS:SQL-QUERY 'CLSQL-TESTS::EMPLOYEE :ORDER-BY #)) Expected value: ("Lenin" "Stalin" "Trotsky" "Kruschev" "Brezhnev" "Andropov" "Chernenko" "Gorbachev" "Yeltsin" "Putin") Actual value: ("Petrov" "Stalin" "Trotsky" "Kruschev" "Brezhnev" "Andropov" "Chernenko" "Gorbachev" "Yeltsin" "Putin"). Test :OODML/MAP-QUERY/2 failed Form: (CLSQL-SYS:MAP-QUERY 'LIST #'(LAMBDA (CLSQL-TESTS::E CLSQL-TESTS::C) (LIST (SLOT-VALUE CLSQL-TESTS::E 'CLSQL-TESTS::LAST-NAME) (SLOT-VALUE CLSQL-TESTS::C 'CLSQL-TESTS::NAME))) (CLSQL-SYS:SQL-QUERY 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::COMPANY :WHERE (CLSQL-SYS:SQL-= (CLSQL-SYS:SQL-SLOT-VALUE 'CLSQL-TESTS::EMPLOYEE 'CLSQL-TESTS::LAST-NAME) "Lenin"))) Expected value: (("Lenin" "Widgets Inc.")) Actual value: NIL. Test :OODML/ITERATION/3 failed Form: (LOOP CLSQL-TESTS::FOR (CLSQL-TESTS::E) CLSQL-TESTS::BEING THE CLSQL-TESTS::RECORDS CLSQL-TESTS::IN (CLSQL-SYS:SQL-QUERY 'CLSQL-TESTS::EMPLOYEE :WHERE (CLSQL-SYS:SQL-< # 4) :ORDER-BY #) CLSQL-TESTS::COLLECT (SLOT-VALUE CLSQL-TESTS::E 'CLSQL-TESTS::LAST-NAME)) Expected value: ("Lenin" "Stalin" "Trotsky") Actual value: ("Petrov" "Stalin" "Trotsky"). :OODML/CACHE/1 :OODML/CACHE/2 :OODML/REFRESH/1 :OODML/REFRESH/2 :OODML/REFRESH/3 :OODML/REFRESH/4 :OODML/UOJ/1 :OODML/BIG/1 :OODML/DB-AUTO-SYNC/1 :OODML/DB-AUTO-SYNC/2 :OODML/SETF-SLOT-VALUE/1 :OODML/FLOAT/1 :OODML/FLOAT/2 :OODML/FLOAT/3 :OODML/FLOAT/4 :OODML/FLOAT/5 :SYNTAX/GENERIC/1 :SYNTAX/GENERIC/2 :SYNTAX/GENERIC/3 :SYNTAX/GENERIC/4 :SYNTAX/GENERIC/5 :SYNTAX/GENERIC/6 :SYNTAX/IDENT/1 :SYNTAX/IDENT/2 :SYNTAX/IDENT/3 :SYNTAX/IDENT/4 :SYNTAX/IDENT/5 :SYNTAX/IDENT/6 :SYNTAX/IDENT/7 :SYNTAX/SUBQUERY/1 :SYNTAX/SUBQUERY/2 :SYNTAX/SUBQUERY/3 :SYNTAX/SUBQUERY/4 :SYNTAX/SUBQUERY/5 :SYNTAX/AGGREGATE/1 :SYNTAX/AGGREGATE/2 :SYNTAX/AGGREGATE/3 :SYNTAX/AGGREGATE/4 :SYNTAX/AGGREGATE/5 :SYNTAX/LOGICAL/1 :SYNTAX/LOGICAL/2 :SYNTAX/LOGICAL/3 :SYNTAX/NULL/1 :SYNTAX/NULL/2 :SYNTAX/NULL/3 :SYNTAX/NULL/4 :SYNTAX/RELATIONAL/1 :SYNTAX/RELATIONAL/2 :SYNTAX/RELATIONAL/3 :SYNTAX/RELATIONAL/4 :SYNTAX/RELATIONAL/5 :SYNTAX/RELATIONAL/6 :SYNTAX/BETWEEN/1 :SYNTAX/BETWEEN/2 :SYNTAX/ARITHMETIC/1 :SYNTAX/ARITHMETIC/2 :SYNTAX/ARITHMETIC/3 :SYNTAX/ARITHMETIC/4 :SYNTAX/ARITHMETIC/5 :SYNTAX/ARITHMETIC/6 :SYNTAX/SUBSTR/1 :SYNTAX/SUBSTRING/1 :SYNTAX/CONCAT/1 :SYNTAX/CONCAT/2 :SYNTAX/PATTERN/1 :SYNTAX/PATTERN/2 :SYNTAX/DISTINCT/1 :SYNTAX/DISTINCT/2 :SYNTAX/ORDER-BY/1 :SYNTAX/GROUP-BY/1 :SYNTAX/GROUP-BY/2 :SYNTAX/COALESCE/1 :SYNTAX/COALESCE/2 :SYNTAX/NVL/1 :SYNTAX/SETS/1 :SYNTAX/SETS/2 :SYNTAX/SETS/3 :SYNTAX/SETS/4 :SYNTAX/FUNCTION/1 :SYNTAX/FUNCTION/2 :SYNTAX/QUERY/1 :SYNTAX/QUERY/2 :SYNTAX/QUERY/3 :SYNTAX/QUERY/4 :SYNTAX/EXPRESSION1 :SYNTAX/EXPRESSION/2 Test ELE-TESTS::FIXNUMS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL 0) (ELE-TESTS::IN-OUT-EQUAL -1) (ELE-TESTS::IN-OUT-EQUAL 1) (ELE-TESTS::IN-OUT-EQUAL MOST-POSITIVE-FIXNUM) (ELE-TESTS::IN-OUT-EQUAL MOST-NEGATIVE-FIXNUM)) Expected values: T T T T T Actual value: #. Test ELE-TESTS::FIXNUM-TYPE-1 failed Form: (ELE-TESTS::ARE-NOT-NULL (TYPEP (ELE-TESTS::IN-OUT-VALUE 0) 'FIXNUM) (TYPEP (ELE-TESTS::IN-OUT-VALUE 1) 'FIXNUM) (TYPEP (ELE-TESTS::IN-OUT-VALUE -1) 'FIXNUM) (TYPEP (ELE-TESTS::IN-OUT-VALUE MOST-POSITIVE-FIXNUM) 'FIXNUM) (TYPEP (ELE-TESTS::IN-OUT-VALUE MOST-NEGATIVE-FIXNUM) 'FIXNUM)) Expected values: T T T T T Actual value: #. Test ELE-TESTS::READ-32-BIT-FIXNUM failed Form: (PROGN (ELEPHANT-MEMUTIL:WITH-BUFFER-STREAMS (ELE-TESTS::BS) (IF (NOT (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P)) (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 1 ELE-TESTS::BS)) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::UPTO 3 DO (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 0 ELE-TESTS::BS)) (IF (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P) (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 1 ELE-TESTS::BS)) (ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM32 ELE-TESTS::BS))) Expected value: 16777216 Actual value: #. Test ELE-TESTS::READ-64-BIT-FIXNUM failed Form: (PROGN (ELEPHANT-MEMUTIL:WITH-BUFFER-STREAMS (ELE-TESTS::BS) (IF (NOT (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P)) (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 1 ELE-TESTS::BS)) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::UPTO 7 DO (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 0 ELE-TESTS::BS)) (IF (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P) (ELEPHANT-MEMUTIL:BUFFER-WRITE-BYTE 1 ELE-TESTS::BS)) (ELEPHANT-MEMUTIL:BUFFER-READ-FIXNUM64 ELE-TESTS::BS))) Expected value: 72057594037927936 Actual value: #. Test ELE-TESTS::WRITE-32-BIT-FIXNUM failed Form: (PROGN (ELEPHANT-MEMUTIL:WITH-BUFFER-STREAMS (ELE-TESTS::BS) (ELE::SERIALIZE 16777216 ELE-TESTS::BS ELE:*STORE-CONTROLLER*) (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS) (AND (= (ELEPHANT-MEMUTIL:BUFFER-STREAM-SIZE ELE-TESTS::BS) 5) (IF (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P) (= (PROGN (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::UPTO 3 DO (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS)) (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS)) 1) (= (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS) 1))))) Expected value: T Actual value: #. Test ELE-TESTS::WRITE-64-BIT-FIXNUM failed Form: (PROGN (ELEPHANT-MEMUTIL:WITH-BUFFER-STREAMS (ELE-TESTS::BS) (ELE::SERIALIZE 72057594037927936 ELE-TESTS::BS ELE:*STORE-CONTROLLER*) (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS) (IF (< MOST-POSITIVE-FIXNUM ELEPHANT-MEMUTIL::+2^32+) T (AND (= (ELEPHANT-MEMUTIL:BUFFER-STREAM-SIZE ELE-TESTS::BS) 9) (IF (ELEPHANT-MEMUTIL:LITTLE-ENDIAN-P) (= (PROGN (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::UPTO 7 DO (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS)) (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS)) 1) (= (ELEPHANT-MEMUTIL:BUFFER-READ-BYTE ELE-TESTS::BS) 1)))))) Expected value: T Actual value: #. Test ELE-TESTS::BIGNUMS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL (+ MOST-POSITIVE-FIXNUM 100)) (ELE-TESTS::IN-OUT-EQUAL (- MOST-NEGATIVE-FIXNUM 100)) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (EXPT 2 ELE-TESTS::I))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (- (EXPT 2 ELE-TESTS::I)))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (- (EXPT 2 ELE-TESTS::I) 1))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (- 1 (EXPT 2 ELE-TESTS::I)))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (EXPT 3 ELE-TESTS::I))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 2000 ELE-TESTS::ALWAYS (ELE-TESTS::IN-OUT-EQUAL (- (EXPT 3 ELE-TESTS::I))))) Expected values: T T T T T T T T Actual value: #. ELE-TESTS::FLOATS Test ELE-TESTS::RATIONALS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL 1/2) (ELE-TESTS::IN-OUT-EQUAL -1/2) (ELE-TESTS::IN-OUT-EQUAL (/ 1 MOST-POSITIVE-FIXNUM)) (ELE-TESTS::IN-OUT-EQUAL (/ 1 MOST-NEGATIVE-FIXNUM)) (ELE-TESTS::IN-OUT-EQUAL (/ MOST-POSITIVE-FIXNUM MOST-NEGATIVE-FIXNUM)) (ELE-TESTS::IN-OUT-EQUAL (/ (EXPT 2 200) (EXPT 3 300))) (ELE-TESTS::IN-OUT-EQUAL (/ (EXPT 2 200) (- (EXPT 3 300))))) Expected values: T T T T T T T Actual value: #. Test ELE-TESTS::BASE-STRINGS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL (MAKE-STRING 0 :ELEMENT-TYPE 'BASE-CHAR)) (ELE-TESTS::IN-OUT-EQUAL (COERCE "this is a test" 'BASE-STRING)) (ELE-TESTS::IN-OUT-EQUAL (MAKE-STRING 400 :INITIAL-ELEMENT (CODE-CHAR 127) :ELEMENT-TYPE 'BASE-CHAR))) Expected values: T T T Actual value: #. Test ELE-TESTS::STRINGS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL "") (ELE-TESTS::IN-OUT-EQUAL "this is a test") (ELE-TESTS::IN-OUT-EQUAL (MAKE-STRING 400 :INITIAL-ELEMENT (CODE-CHAR 254)))) Expected values: T T T Actual value: #. Test ELE-TESTS::HARD-STRINGS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL (FORMAT NIL "Mot~arhead is a hard rock band." (CODE-CHAR 246))) (ELE-TESTS::IN-OUT-EQUAL (FORMAT NIL "M~atley cr~ae is a hard string and was a hard rock band." (CODE-CHAR 246) (CODE-CHAR 252))) (ELE-TESTS::IN-OUT-EQUAL (FORMAT NIL "High c~ade p~ages." (CODE-CHAR 65535) (CODE-CHAR 131071)))) Expected values: T T T Actual value: #. Test ELE-TESTS::SYMBOLS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL NIL) (ELE-TESTS::IN-OUT-EQUAL T) (ELE-TESTS::IN-OUT-EQUAL 'ELE-TESTS::FOOBARBAZQUUX) (ELE-TESTS::IN-OUT-EQUAL 'ELE::NEXT-OID) (ELE-TESTS::IN-OUT-EQUAL :A-KEYWORD-SYMBOL) (ELE-TESTS::IN-OUT-UNINTERNED-EQUAL '#:FOOZLE) (ELE-TESTS::IN-OUT-UNINTERNED-EQUAL (MAKE-SYMBOL "a wha wah ba ba")) (ELE-TESTS::IN-OUT-UNINTERNED-EQUAL (MAKE-SYMBOL ""))) Expected values: T T T T T T T T Actual value: #. Test ELE-TESTS::CHARS failed Form: (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::BELOW CHAR-CODE-LIMIT UNLESS (ELE-TESTS::IN-OUT-EQUAL (CODE-CHAR ELE-TESTS::I)) DO (RETURN ELE-TESTS::I) ELE-TESTS::FINALLY (RETURN T)) Expected value: T Actual value: #. Test ELE-TESTS::PATHNAMES failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL #P"\\usr\\local\\share\\common-lisp\\elephant")) Expected value: T Actual value: #. Test ELE-TESTS::CONSES failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUAL (CONS T 100000)) (ELE-TESTS::IN-OUT-EQUAL (LIST 1 'ELE-TESTS::A "this is a test" 'ELE-TESTS::C 10000 NIL 1000 NIL)) (ELE-TESTS::IN-OUT-EQUAL (CONS (CONS (CONS T NIL) (CONS NIL T)) (CONS 1 (CONS T NIL))))) Expected values: T T T Actual value: #. Test ELE-TESTS::HASH-TABLES-1 failed Form: (LET* ((ELE-TESTS::HT (MAKE-HASH-TABLE :TEST 'EQUALP :SIZE 333 :REHASH-SIZE 1.2 :REHASH-THRESHOLD 0.8)) (ELE-TESTS::REHASH-SIZE (HASH-TABLE-REHASH-SIZE ELE-TESTS::HT)) (ELE-TESTS::REHASH-THRESHOLD (HASH-TABLE-REHASH-THRESHOLD ELE-TESTS::HT)) (ELE-TESTS::OUT (ELE-TESTS::IN-OUT-VALUE ELE-TESTS::HT))) (ELE-TESTS::ARE-NOT-NULL (EQ (HASH-TABLE-TEST ELE-TESTS::OUT) 'EQUALP) (EQ (HASH-TABLE-TEST (ELE-TESTS::IN-OUT-VALUE (MAKE-HASH-TABLE :TEST 'EQ))) 'EQ) (EQ (HASH-TABLE-TEST (ELE-TESTS::IN-OUT-VALUE (MAKE-HASH-TABLE :TEST 'EQL))) 'EQL) (EQ (HASH-TABLE-TEST (ELE-TESTS::IN-OUT-VALUE (MAKE-HASH-TABLE :TEST 'EQUAL))) 'EQUAL) (EQ (HASH-TABLE-TEST (ELE-TESTS::IN-OUT-VALUE (MAKE-HASH-TABLE :TEST 'EQUALP))) 'EQUALP))) Expected values: T T T T T Actual value: #. Test ELE-TESTS::HASH-TABLES-2 failed Form: (LET ((ELE-TESTS::HT (MAKE-HASH-TABLE :TEST 'EQUALP))) (SETF (GETHASH (CONS NIL NIL) ELE-TESTS::HT) "one") (SETF (GETHASH 2 ELE-TESTS::HT) 2.0d0) (SETF (GETHASH 'ELE-TESTS::SYMBOLSYMBOL ELE-TESTS::HT) "three") (LET ((ELE-TESTS::OUT (ELE-TESTS::IN-OUT-VALUE ELE-TESTS::HT))) (ELE-TESTS::ARE-NOT-NULL (STRING= (GETHASH (CONS NIL NIL) ELE-TESTS::OUT) "one") (= (GETHASH 2 ELE-TESTS::OUT) 2.0d0) (STRING= (GETHASH 'ELE-TESTS::SYMBOLSYMBOL ELE-TESTS::OUT) "three")))) Expected values: T T T Actual value: #. Test ELE-TESTS::ARRAYS-1 failed Form: (ELE-TESTS::ARE-NOT-NULL (ARRAY-HAS-FILL-POINTER-P (ELE-TESTS::IN-OUT-VALUE (MAKE-ARRAY 200 :FILL-POINTER T))) (NOT (ARRAY-HAS-FILL-POINTER-P (ELE-TESTS::IN-OUT-VALUE (MAKE-ARRAY 200 :FILL-POINTER NIL)))) (ELE-TESTS::TYPE= (UPGRADED-ARRAY-ELEMENT-TYPE '(UNSIGNED-BYTE 20)) (ARRAY-ELEMENT-TYPE (ELE-TESTS::IN-OUT-VALUE (MAKE-ARRAY '(3 4 5) :ELEMENT-TYPE '(UNSIGNED-BYTE 20) :INITIAL-ELEMENT 0)))) (ELE-TESTS::TYPE= (UPGRADED-ARRAY-ELEMENT-TYPE 'FIXNUM) (ARRAY-ELEMENT-TYPE (ELE-TESTS::IN-OUT-VALUE (MAKE-ARRAY '(3 4 5) :ELEMENT-TYPE 'FIXNUM :INITIAL-ELEMENT 0))))) Expected values: T T T T Actual value: #. Test ELE-TESTS::ARRAYS-2 failed Form: (LET ((ELE-TESTS::ARR (MAKE-ARRAY '(3 4 5))) (ELE-TESTS::VEC (MAKE-ARRAY 100 :ADJUSTABLE T :FILL-POINTER T)) (ELE-TESTS::SVEC (MAKE-ARRAY 100 :ADJUSTABLE NIL :FILL-POINTER NIL))) (SETF (AREF ELE-TESTS::ARR 0 0 0) 'ELE-TESTS::SYMB) (SETF (AREF ELE-TESTS::ARR 1 2 3) 123132) (SETF (AREF ELE-TESTS::ARR 2 3 4) "this is a longish string") (VECTOR-PUSH-EXTEND 123456789101112 ELE-TESTS::VEC) (VECTOR-PUSH-EXTEND "mr t" ELE-TESTS::VEC) (VECTOR-PUSH-EXTEND 'ELE-TESTS::SYMBOLIC ELE-TESTS::VEC) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 99 DO (SETF (SVREF ELE-TESTS::SVEC ELE-TESTS::I) (EXPT 2 ELE-TESTS::I))) (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQUALP ELE-TESTS::ARR) (ELE-TESTS::IN-OUT-EQUALP ELE-TESTS::VEC) (ELE-TESTS::IN-OUT-EQUALP ELE-TESTS::SVEC) (TYPEP (ELE-TESTS::IN-OUT-VALUE ELE-TESTS::SVEC) 'SIMPLE-VECTOR))) Expected values: T T T T Actual value: #. ELE-TESTS::TEST-DEEP-EQUALP Test ELE-TESTS::OBJECTS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-DEEP-EQUALP (MAKE-INSTANCE 'ELE-TESTS::FOO)) (ELE-TESTS::IN-OUT-DEEP-EQUALP (MAKE-INSTANCE 'ELE-TESTS::BAR :SLOT1 (MAKE-INSTANCE 'ELE-TESTS::FOO :SLOT2 "foo bar")))) Expected values: T T Actual value: #. Test ELE-TESTS::STRUCTS failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-DEEP-EQUALP (ELE-TESTS::MAKE-STRUCT1)) (ELE-TESTS::IN-OUT-DEEP-EQUALP (ELE-TESTS::MAKE-STRUCT1 :SS1 "test" :SS2 (ELE-TESTS::MAKE-STRUCT1 :SS1 "bottom" :SS2 NIL)))) Expected values: T T Actual value: #. Test ELE-TESTS::STRUCT-NON-STD-CONSTRUCT failed Form: (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-DEEP-EQUALP (ELE-TESTS::MAKE-A-STRUCT2)) (ELE-TESTS::IN-OUT-DEEP-EQUALP (ELE-TESTS::MAKE-A-STRUCT2 :SS3 (ELE-TESTS::MAKE-A-STRUCT2 :SS4 "foo")))) Expected values: T T Actual value: #. Test ELE-TESTS::CIRCULAR failed Form: (LET ((ELE-TESTS::C1 (CONS NIL NIL)) (ELE-TESTS::C2 (CONS NIL NIL)) (ELE-TESTS::L1 (MAKE-LIST 100)) (ELE-TESTS::H (MAKE-HASH-TABLE :TEST 'EQUAL)) (ELE-TESTS::G (MAKE-ARRAY '(2 3 4))) (ELE-TESTS::F (MAKE-INSTANCE 'ELE-TESTS::FOO)) (ELE-TESTS::B (MAKE-INSTANCE 'ELE-TESTS::BAR))) (SETF (CAR ELE-TESTS::C1) ELE-TESTS::C1) (SETF (CDR ELE-TESTS::C1) ELE-TESTS::C1) (SETF (CAR ELE-TESTS::C2) ELE-TESTS::C1) (SETF (CDR ELE-TESTS::C2) ELE-TESTS::C2) (SETF (CDR (LAST ELE-TESTS::L1)) ELE-TESTS::L1) (SETF (GETHASH "quux" ELE-TESTS::H) ELE-TESTS::L1) (SETF (GETHASH "bar" ELE-TESTS::H) ELE-TESTS::C2) (SETF (AREF ELE-TESTS::G 1 1 1) ELE-TESTS::G) (SETF (AREF ELE-TESTS::G 0 0 1) ELE-TESTS::H) (SETF (GETHASH "foo" ELE-TESTS::H) ELE-TESTS::G) (SETF (SLOT-VALUE ELE-TESTS::F 'ELE-TESTS::SLOT1) ELE-TESTS::B) (SETF (SLOT-VALUE ELE-TESTS::F 'ELE-TESTS::SLOT2) ELE-TESTS::F) (SETF (SLOT-VALUE ELE-TESTS::B 'ELE-TESTS::SLOT1) ELE-TESTS::H) (SETF (SLOT-VALUE ELE-TESTS::B 'ELE-TESTS::SLOT2) ELE-TESTS::F) (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::C1) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::C2) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::L1) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::H) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::G) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::F) (ELE-TESTS::IN-OUT-DEEP-EQUALP ELE-TESTS::B))) Expected values: T T T T T T T Actual value: #. Test ELE:PERSISTENT failed Form: (LET* ((ELE-TESTS::F1 (MAKE-INSTANCE 'ELE-TESTS::PFOO :SC ELE:*STORE-CONTROLLER*)) (ELE-TESTS::F2 (MAKE-INSTANCE 'ELE-TESTS::PFOO :SLOT1 "this is a string" :SC ELE:*STORE-CONTROLLER*)) (ELE-TESTS::B1 (MAKE-INSTANCE 'ELE-TESTS::PBAR :SLOT2 "another string" :SC ELE:*STORE-CONTROLLER*)) (ELE-TESTS::B2 (MAKE-INSTANCE 'ELE-TESTS::PBAR :SC ELE:*STORE-CONTROLLER*)) (ELE-TESTS::H (ELE:MAKE-BTREE ELE:*STORE-CONTROLLER*))) (ELE-TESTS::ARE-NOT-NULL (ELE-TESTS::IN-OUT-EQ ELE-TESTS::F1) (ELE-TESTS::IN-OUT-EQ ELE-TESTS::F2) (ELE-TESTS::IN-OUT-EQ ELE-TESTS::B1) (ELE-TESTS::IN-OUT-EQ ELE-TESTS::B2) (ELE-TESTS::IN-OUT-EQ ELE-TESTS::H) (ELE-TESTS::SIGNALS-CONDITION (ELE-TESTS::SLOT1 ELE-TESTS::F1)) (PROGN (SETF (ELE-TESTS::SLOT1 ELE-TESTS::F1) ELE-TESTS::F1) (EQ ELE-TESTS::F1 (ELE-TESTS::SLOT1 ELE-TESTS::F1))) (PROGN (SETF (ELE:GET-VALUE ELE-TESTS::F2 ELE-TESTS::H) ELE-TESTS::F2) (EQ (ELE:GET-VALUE ELE-TESTS::F2 ELE-TESTS::H) ELE-TESTS::F2)))) Expected values: T T T T T T T T Actual value: #. ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-1 ELE-TESTS::NON-TRANSIENT-CLASS-SLOT-2 ELE-TESTS::TRANSIENT-CLASS-SLOT ELE-TESTS::CLASS-DEFINERS ELE-TESTS::BAD-INHERITENCE ELE-TESTS::MIXES ELE-TESTS::MIXES-RIGHT-SLOTS ELE-TESTS::INHERIT ELE-TESTS::INHERIT-RIGHT-SLOTS ELE-TESTS::INITFORM-CLASSES Test ELE-TESTS::INITFORM-TEST failed Form: (SLOT-VALUE (MAKE-INSTANCE 'ELE-TESTS::P-INITFORM-TEST :SC ELE:*STORE-CONTROLLER*) 'ELE-TESTS::SLOT1) Expected value: 10 Actual value: #. Test ELE-TESTS::INITARG-TEST failed Form: (VALUES (SLOT-VALUE (MAKE-INSTANCE 'ELE-TESTS::P-INITFORM-TEST-2 :SC ELE:*STORE-CONTROLLER*) 'ELE-TESTS::SLOT1) (SLOT-VALUE (MAKE-INSTANCE 'ELE-TESTS::P-INITFORM-TEST-2 :SLOT1 20 :SC ELE:*STORE-CONTROLLER*) 'ELE-TESTS::SLOT1)) Expected values: 10 20 Actual value: #. Test ELE-TESTS::NO-EVAL-INITFORM failed Form: (ELE-TESTS::FINISHES (DEFCLASS ELE-TESTS::NO-EVAL-INITFORM NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM (ERROR "Shouldn't be called"))) (:METACLASS ELE:PERSISTENT-METACLASS)) (MAKE-INSTANCE 'ELE-TESTS::NO-EVAL-INITFORM :SLOT1 "something" :SC ELE:*STORE-CONTROLLER*) T) Expected value: T Actual value: NIL. ELE-TESTS::REDEFCLASS Test MAKUNBOUND failed Form: (LET ((ELE-TESTS::P (MAKE-INSTANCE 'ELE-TESTS::P-CLASS :SC ELE:*STORE-CONTROLLER*))) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETF (ELE-TESTS::SLOT1 ELE-TESTS::P) T) (SLOT-MAKUNBOUND ELE-TESTS::P 'ELE-TESTS::SLOT1)) (ELE-TESTS::SIGNALS-CONDITION (ELE-TESTS::SLOT1 ELE-TESTS::P))) Expected value: T Actual value: #. Test ELE-TESTS::UPDATE-CLASS failed Form: (PROGN (DEFCLASS ELE-TESTS::UPDATE-CLASS NIL ((ELE-TESTS::SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET* ((ELE-TESTS::FOO (MAKE-INSTANCE 'ELE-TESTS::UPDATE-CLASS :SC ELE:*STORE-CONTROLLER*))) (DEFCLASS ELE-TESTS::UPDATE-CLASS NIL ((ELE-TESTS::SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2)) (:METACLASS ELE:PERSISTENT-METACLASS)) (VALUES (ELE-TESTS::SLOT2 ELE-TESTS::FOO) (ELE-TESTS::SIGNALS-CONDITION (ELE-TESTS::SLOT1 ELE-TESTS::FOO))))) Expected values: 2 T Actual value: #. Test CHANGE-CLASS failed Form: (PROGN (DEFCLASS ELE-TESTS::CLASS-ONE NIL ((ELE-TESTS::SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFCLASS ELE-TESTS::CLASS-TWO NIL ((ELE-TESTS::SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1) (ELE-TESTS::SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET* ((ELE-TESTS::FOO (MAKE-INSTANCE 'ELE-TESTS::CLASS-ONE :SC ELE:*STORE-CONTROLLER*))) (CHANGE-CLASS ELE-TESTS::FOO (FIND-CLASS 'ELE-TESTS::CLASS-TWO)) (VALUES (ELE-TESTS::SLOT1 ELE-TESTS::FOO) (ELE-TESTS::SLOT2 ELE-TESTS::FOO)))) Expected values: 1 2 Actual value: #. Test ELE-TESTS::CHANGE-CLASS3 failed Form: (PROGN (DEFCLASS ELE-TESTS::CLASS-ONE NIL ((ELE-TESTS::SLOT1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFCLASS ELE-TESTS::CLASS-TWO NIL ((ELE-TESTS::SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1) (ELE-TESTS::SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET* ((ELE-TESTS::FOO (MAKE-INSTANCE 'ELE-TESTS::CLASS-ONE :SC ELE:*STORE-CONTROLLER*))) (CHANGE-CLASS ELE-TESTS::FOO (FIND-CLASS 'ELE-TESTS::CLASS-TWO)) (VALUES (ELE-TESTS::SLOT1 ELE-TESTS::FOO) (ELE-TESTS::SLOT2 ELE-TESTS::FOO)))) Expected values: 0 2 Actual value: #. Test ELE-TESTS::BASICPERSISTENCE failed Form: (LET ((ELE-TESTS::RV NIL)) (LET ((ELE-TESTS::X (GENSYM))) (ELE:ADD-TO-ROOT "x" ELE-TESTS::X) (ELE:FLUSH-INSTANCE-CACHE ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::RV (EQUAL (FORMAT NIL "~A" ELE-TESTS::X) (FORMAT NIL "~A" (ELE:GET-FROM-ROOT "x"))))) ELE-TESTS::RV) Expected value: T Actual value: #. ELE-TESTS::TESTOID ELE-TESTS::BTREE-MAKE Test ELE-TESTS::BTREE-PUT failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LOOP ELE-TESTS::FOR ELE-TESTS::OBJ ELE-TESTS::IN ELE-TESTS::OBJS ELE-TESTS::FOR ELE-TESTS::KEY ELE-TESTS::IN ELE-TESTS::KEYS DO (SETF (ELE:GET-VALUE ELE-TESTS::KEY ELE-TESTS::BT) ELE-TESTS::OBJ)))) Expected value: T Actual value: NIL. Test ELE-TESTS::BTREE-GET failed Form: (LOOP ELE-TESTS::FOR ELE-TESTS::KEY ELE-TESTS::IN ELE-TESTS::KEYS ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::TO 1000 ELE-TESTS::FOR ELE-TESTS::OBJ = (ELE:GET-VALUE ELE-TESTS::KEY ELE-TESTS::BT) ELE-TESTS::ALWAYS (AND (= (ELE-TESTS::SLOT1 ELE-TESTS::OBJ) ELE-TESTS::I) (= (ELE-TESTS::SLOT2 ELE-TESTS::OBJ) (* ELE-TESTS::I 100)))) Expected value: T Actual value: #. Test ELE:REMOVE-KV failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:REMOVE-KV ELE-TESTS::FIRST-KEY ELE-TESTS::BT))) Expected value: T Actual value: NIL. Test ELE-TESTS::REMOVED failed Form: (NOT (ELE:GET-VALUE ELE-TESTS::FIRST-KEY ELE-TESTS::BT)) Expected value: T Actual value: #. Test ELE:MAP-BTREE failed Form: (LET ((ELE-TESTS::KS NIL) (ELE-TESTS::VS NIL)) (FLET ((ELE-TESTS::MAPPER (ELE-TESTS::K ELE-TESTS::V) (PUSH ELE-TESTS::K ELE-TESTS::KS) (PUSH ELE-TESTS::V ELE-TESTS::VS))) (ELE:MAP-BTREE #'ELE-TESTS::MAPPER ELE-TESTS::BT)) (VALUES (AND (SUBSETP ELE-TESTS::KS (CDR ELE-TESTS::KEYS) :TEST #'EQUALP) (SUBSETP (CDR ELE-TESTS::KEYS) ELE-TESTS::KS :TEST #'EQUALP)))) Expected value: T Actual value: NIL. Test ELE-TESTS::INDEXED-BTREE-MAKE failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INDEXED (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*)))) Expected value: T Actual value: NIL. Test ELE-TESTS::ADD-INDICES failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETF ELE-TESTS::INDEX1 (ELE:ADD-INDEX ELE-TESTS::INDEXED :INDEX-NAME 'ELE-TESTS::SLOT1 :KEY-FORM 'ELE-TESTS::KEY-MAKER)) (SETF ELE-TESTS::INDEX2 (ELE:ADD-INDEX ELE-TESTS::INDEXED :INDEX-NAME 'ELE-TESTS::SLOT2 :KEY-FORM '(LAMBDA (ELE-TESTS::S ELE-TESTS::KEY ELE-TESTS::VALUE) (DECLARE (IGNORE ELE-TESTS::S ELE-TESTS::KEY)) (VALUES T (ELE-TESTS::SLOT2 ELE-TESTS::VALUE))))))) Expected value: T Actual value: NIL. Test ELE-TESTS::TEST-INDICES failed Form: (VALUES (LET ((COUNT 0)) (ELE:MAP-INDICES (LAMBDA (ELE-TESTS::X ELE-TESTS::Y) (DECLARE (IGNORE ELE-TESTS::X ELE-TESTS::Y)) (INCF COUNT)) ELE-TESTS::INDEXED) (EQ COUNT 2)) (EQ ELE-TESTS::INDEX1 (ELE:GET-INDEX ELE-TESTS::INDEXED 'ELE-TESTS::SLOT1)) (EQ ELE-TESTS::INDEX2 (ELE:GET-INDEX ELE-TESTS::INDEXED 'ELE-TESTS::SLOT2))) Expected values: T T T Actual value: #. Test ELE-TESTS::INDEXED-PUT failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LOOP ELE-TESTS::FOR ELE-TESTS::OBJ ELE-TESTS::IN ELE-TESTS::OBJS ELE-TESTS::FOR ELE-TESTS::KEY ELE-TESTS::IN ELE-TESTS::KEYS DO (SETF (ELE:GET-VALUE ELE-TESTS::KEY ELE-TESTS::INDEXED) ELE-TESTS::OBJ)))) Expected value: T Actual value: NIL. Test ELE-TESTS::INDEXED-GET failed Form: (LOOP ELE-TESTS::FOR ELE-TESTS::KEY ELE-TESTS::IN ELE-TESTS::KEYS ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::TO 1000 ELE-TESTS::FOR ELE-TESTS::OBJ = (ELE:GET-VALUE ELE-TESTS::KEY ELE-TESTS::INDEXED) ELE-TESTS::ALWAYS (AND (= (ELE-TESTS::SLOT1 ELE-TESTS::OBJ) ELE-TESTS::I) (= (ELE-TESTS::SLOT2 ELE-TESTS::OBJ) (* ELE-TESTS::I 100)))) Expected value: T Actual value: #. Test ELE-TESTS::SIMPLE-SLOT-GET failed Form: (PROGN (SETF (ELE:GET-VALUE (NTH 0 ELE-TESTS::KEYS) ELE-TESTS::INDEXED) (NTH 0 ELE-TESTS::OBJS)) (LET ((ELE-TESTS::OBJ (ELE:GET-VALUE 1 ELE-TESTS::INDEX1))) (AND (= (ELE-TESTS::SLOT1 ELE-TESTS::OBJ) 1) (= (ELE-TESTS::SLOT2 ELE-TESTS::OBJ) (* 1 100))))) Expected value: T Actual value: #. Test ELE-TESTS::INDEXED-GET-FROM-SLOT1 failed Form: (LOOP ELE-TESTS::WITH ELE-TESTS::INDEX = (ELE:GET-INDEX ELE-TESTS::INDEXED 'ELE-TESTS::SLOT1) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::TO 1000 ELE-TESTS::FOR ELE-TESTS::OBJ = (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::INDEX) ELE-TESTS::ALWAYS (= (ELE-TESTS::SLOT1 ELE-TESTS::OBJ) ELE-TESTS::I)) Expected value: T Actual value: #. Test ELE-TESTS::INDEXED-GET-FROM-SLOT2 failed Form: (LOOP ELE-TESTS::WITH ELE-TESTS::INDEX = (ELE:GET-INDEX ELE-TESTS::INDEXED 'ELE-TESTS::SLOT2) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 1 ELE-TESTS::TO 1000 ELE-TESTS::FOR ELE-TESTS::OBJ = (ELE:GET-VALUE (* ELE-TESTS::I 100) ELE-TESTS::INDEX) ELE-TESTS::ALWAYS (= (ELE-TESTS::SLOT2 ELE-TESTS::OBJ) (* ELE-TESTS::I 100))) Expected value: T Actual value: #. Test ELE-TESTS::REMOVE-KV-INDEXED failed Form: (ELE-TESTS::FINISHES (ELE:REMOVE-KV ELE-TESTS::FIRST-KEY ELE-TESTS::INDEXED)) Expected value: T Actual value: NIL. Test ELE-TESTS::NO-KEY-NOR-INDICES failed Form: (VALUES (ELE:GET-VALUE ELE-TESTS::FIRST-KEY ELE-TESTS::INDEXED) (ELE:GET-PRIMARY-KEY 1 ELE-TESTS::INDEX1) (ELE:GET-PRIMARY-KEY 100 ELE-TESTS::INDEX2)) Expected values: NIL NIL NIL Actual value: #. Test ELE-TESTS::REMOVE-KV-FROM-SLOT1 failed Form: (ELE-TESTS::FINISHES (ELE:REMOVE-KV 2 ELE-TESTS::INDEX1)) Expected value: T Actual value: NIL. Test ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1 failed Form: (VALUES (ELE:GET-VALUE (SECOND ELE-TESTS::KEYS) ELE-TESTS::INDEXED) (ELE:GET-PRIMARY-KEY 2 ELE-TESTS::INDEX1) (ELE:GET-PRIMARY-KEY 200 ELE-TESTS::INDEX2)) Expected values: NIL NIL NIL Actual value: #. Test ELE-TESTS::REMOVE-KV-FROM-SLOT2 failed Form: (ELE-TESTS::FINISHES (ELE:REMOVE-KV 300 ELE-TESTS::INDEX2)) Expected value: T Actual value: NIL. Test ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2 failed Form: (VALUES (ELE:GET-VALUE (THIRD ELE-TESTS::KEYS) ELE-TESTS::INDEXED) (ELE:GET-PRIMARY-KEY 3 ELE-TESTS::INDEX1) (ELE:GET-PRIMARY-KEY 300 ELE-TESTS::INDEX2)) Expected values: NIL NIL NIL Actual value: #. Test ELE-TESTS::MAP-INDEXED failed Form: (LET ((ELE-TESTS::KS NIL) (ELE-TESTS::VS NIL)) (FLET ((ELE-TESTS::MAPPER (ELE-TESTS::K ELE-TESTS::V) (PUSH ELE-TESTS::K ELE-TESTS::KS) (PUSH ELE-TESTS::V ELE-TESTS::VS))) (ELE:MAP-BTREE #'ELE-TESTS::MAPPER ELE-TESTS::INDEXED)) (VALUES (AND (SUBSETP ELE-TESTS::KS (CDDDR ELE-TESTS::KEYS) :TEST #'EQUALP) (SUBSETP (CDDDR ELE-TESTS::KEYS) ELE-TESTS::KS :TEST #'EQUALP)))) Expected value: T Actual value: #. Test ELE-TESTS::GET-FIRST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX1) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-FIRST ELE-TESTS::C) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::V)) (= ELE-TESTS::K 4)))) Expected value: T Actual value: #. Test ELE-TESTS::GET-FIRST2 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX2) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-FIRST ELE-TESTS::C) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::V)) (= ELE-TESTS::K 400)))) Expected value: T Actual value: #. Test ELE-TESTS::GET-LAST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX1) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-LAST ELE-TESTS::C) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::V)) (= ELE-TESTS::K 1000)))) Expected value: T Actual value: #. Test ELE-TESTS::GET-LAST2 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX2) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-LAST ELE-TESTS::C) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::V)) (= ELE-TESTS::K 100000)))) Expected value: T Actual value: #. Test SET failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX1) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-SET ELE-TESTS::C 200) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::K)) (= (ELE-TESTS::SLOT1 ELE-TESTS::V) 200)))) Expected value: T Actual value: #. Test ELE-TESTS::SET2 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX2) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-SET ELE-TESTS::C 500) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::K)) (= (ELE-TESTS::SLOT2 ELE-TESTS::V) 500)))) Expected value: T Actual value: #. Test ELE-TESTS::SET-RANGE failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX1) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-SET-RANGE ELE-TESTS::C 199.5) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::K)) (= (ELE-TESTS::SLOT1 ELE-TESTS::V) 200)))) Expected value: T Actual value: #. Test ELE-TESTS::SET-RANGE2 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX2) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-SET-RANGE ELE-TESTS::C 501) (DECLARE (IGNORE ELE-TESTS::HAS ELE-TESTS::K)) (= (ELE-TESTS::SLOT2 ELE-TESTS::V) 600)))) Expected value: T Actual value: #. Test ELE-TESTS::MAP-INDEXED-INDEX failed Form: (LET ((ELE-TESTS::SUM 0)) (FLET ((ELE-TESTS::COLLECTOR (ELE-TESTS::KEY ELE-TESTS::VALUE ELE-TESTS::PKEY) (INCF ELE-TESTS::SUM (ELE-TESTS::SLOT1 ELE-TESTS::VALUE)))) (ELE:MAP-INDEX #'ELE-TESTS::COLLECTOR ELE-TESTS::INDEX1 :START NIL :END 10) (ELE:MAP-INDEX #'ELE-TESTS::COLLECTOR ELE-TESTS::INDEX1 :START 990 :END NIL) (ELE:MAP-INDEX #'ELE-TESTS::COLLECTOR ELE-TESTS::INDEX1 :START 400 :END 410)) ELE-TESTS::SUM) Expected value: 15449 Actual value: #. Test ELE-TESTS::REM-KV failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LET ((ELE-TESTS::IBT (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 10 DO (SETF (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::IBT) (* ELE-TESTS::I ELE-TESTS::I))) (ELE:REMOVE-KV 0 ELE-TESTS::IBT) (ELE:REMOVE-KV 1 ELE-TESTS::IBT) (ELE:REMOVE-KV 10 ELE-TESTS::IBT) (EQUAL (LIST (ELE:GET-VALUE 0 ELE-TESTS::IBT) (ELE:GET-VALUE 1 ELE-TESTS::IBT) (ELE:GET-VALUE 10 ELE-TESTS::IBT) (ELE:GET-VALUE 5 ELE-TESTS::IBT)) '(NIL NIL NIL 25)))) Expected value: T Actual value: #. Test ELE-TESTS::REM-IDEXKV failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LET* ((ELE-TESTS::IBT (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*)) (ELE-TESTS::ID1 (ELE:ADD-INDEX ELE-TESTS::IBT :INDEX-NAME 'ELE-TESTS::IDX1 :KEY-FORM 'ELE-TESTS::ODD))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 10 DO (SETF (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::IBT) (* ELE-TESTS::I ELE-TESTS::I))) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::ID1) (ELE:CURSOR-FIRST ELE-TESTS::C) (DOTIMES (ELE-TESTS::I 10) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::KEY ELE-TESTS::VALUE) (ELE:CURSOR-NEXT ELE-TESTS::C)))) (ELE:REMOVE-KV 4 ELE-TESTS::IBT) (ELE:REMOVE-KV 5 ELE-TESTS::IBT) (EQUAL (LIST (ELE:GET-VALUE 4 ELE-TESTS::IBT) (ELE:GET-VALUE 5 ELE-TESTS::IBT) (ELE:GET-VALUE 6 ELE-TESTS::IBT) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::IBT) (ELE:CURSOR-FIRST ELE-TESTS::C) (DOTIMES (ELE-TESTS::I 4) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::KEY ELE-TESTS::VALUE) (ELE:CURSOR-NEXT ELE-TESTS::C) ELE-TESTS::VALUE)) (MULTIPLE-VALUE-BIND (ELE-TESTS::HAS ELE-TESTS::KEY ELE-TESTS::VALUE) (ELE:CURSOR-NEXT ELE-TESTS::C) ELE-TESTS::VALUE))) '(NIL NIL 36 49)))) Expected value: T Actual value: #. Test ELE-TESTS::MAKE-INDEXED2 failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INDEXED2 (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*)))) Expected value: T Actual value: NIL. Test ELE-TESTS::ADD-INDICES2 failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INDEX3 (ELE:ADD-INDEX ELE-TESTS::INDEXED2 :INDEX-NAME 'ELE-TESTS::CRUNCH :KEY-FORM 'ELE-TESTS::CRUNCH)))) Expected value: T Actual value: NIL. Test ELE-TESTS::PUT-INDEXED2 failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 10000 DO (SETF (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::INDEXED2) (- ELE-TESTS::I))))) Expected value: T Actual value: NIL. Test ELE-TESTS::GET-INDEXED2 failed Form: (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 10000 ELE-TESTS::ALWAYS (= (- ELE-TESTS::I) (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::INDEXED2))) Expected value: T Actual value: #. Test ELE-TESTS::GET-FROM-INDEX3 failed Form: (LET ((ELE-TESTS::V)) (UNWIND-PROTECT (SETF ELE-TESTS::V (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 1000 ELE-TESTS::ALWAYS (MULTIPLE-VALUE-BIND (ELE-TESTS::BOOL ELE-TESTS::RES) (ELE-TESTS::CRUNCH NIL NIL (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::INDEX3)) (= ELE-TESTS::RES ELE-TESTS::I))))) ELE-TESTS::V) Expected value: T Actual value: #. Test ELE-TESTS::DUP-TEST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (LOOP ELE-TESTS::FOR (ELE-TESTS::MORE ELE-TESTS::K ELE-TESTS::V) = (MULTIPLE-VALUE-LIST (ELE:CURSOR-FIRST ELE-TESTS::CURS)) ELE-TESTS::THEN (MULTIPLE-VALUE-LIST (ELE:CURSOR-NEXT-DUP ELE-TESTS::CURS)) ELE-TESTS::WHILE ELE-TESTS::MORE ELE-TESTS::COLLECT ELE-TESTS::V))) Expected value: (0 -1 -2 -3 -4 -5 -6 -7 -8 -9) Actual value: #. Test ELE-TESTS::NODUP-TEST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (LOOP ELE-TESTS::FOR (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V) = (MULTIPLE-VALUE-LIST (ELE:CURSOR-NEXT-NODUP ELE-TESTS::CURS)) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::DOWNTO -9990 ELE-TESTS::BY 10 ELE-TESTS::WHILE ELE-TESTS::M ELE-TESTS::ALWAYS (= ELE-TESTS::V ELE-TESTS::I)))) Expected value: T Actual value: #. Test ELE-TESTS::PREV-NODUP-TEST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (ELE:CURSOR-LAST ELE-TESTS::CURS) (LOOP ELE-TESTS::FOR (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V) = (MULTIPLE-VALUE-LIST (ELE:CURSOR-PREV-NODUP ELE-TESTS::CURS)) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM -9999 ELE-TESTS::TO -9 ELE-TESTS::BY 10 ELE-TESTS::WHILE ELE-TESTS::M ELE-TESTS::ALWAYS (= ELE-TESTS::V ELE-TESTS::I)))) Expected value: T Actual value: #. Test ELE-TESTS::PNODUP-TEST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (LOOP ELE-TESTS::FOR (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P) = (MULTIPLE-VALUE-LIST (ELE:CURSOR-PNEXT-NODUP ELE-TESTS::CURS)) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 9990 ELE-TESTS::BY 10 ELE-TESTS::WHILE ELE-TESTS::M ELE-TESTS::ALWAYS (= ELE-TESTS::P ELE-TESTS::I)))) Expected value: T Actual value: #. Test ELE-TESTS::PPREV-NODUP-TEST failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (ELE:CURSOR-LAST ELE-TESTS::CURS) (LOOP ELE-TESTS::FOR (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P) = (MULTIPLE-VALUE-LIST (ELE:CURSOR-PPREV-NODUP ELE-TESTS::CURS)) ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 9999 ELE-TESTS::DOWNTO 9 ELE-TESTS::BY 10 ELE-TESTS::WHILE ELE-TESTS::M ELE-TESTS::ALWAYS (= ELE-TESTS::P ELE-TESTS::I)))) Expected value: T Actual value: #. Test ELE-TESTS::CUR-DEL1 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LET* ((ELE-TESTS::IBT (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*)) (ELE-TESTS::ID1 (ELE:ADD-INDEX ELE-TESTS::IBT :INDEX-NAME 'ELE-TESTS::IDX1 :KEY-FORM 'ELE-TESTS::ODD))) (LABELS ((ELE-TESTS::DELETED (ELE-TESTS::KEY ELE-TESTS::OTHERS) (AND (NULL (ELE:GET-VALUE ELE-TESTS::KEY ELE-TESTS::IBT)) (EVERY #'(LAMBDA (ELE-TESTS::K2) (= (ELE:GET-VALUE ELE-TESTS::K2 ELE-TESTS::IBT) (* ELE-TESTS::K2 ELE-TESTS::K2))) ELE-TESTS::OTHERS)))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 5 DO (SETF (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::IBT) (* ELE-TESTS::I ELE-TESTS::I))) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::ID1) (ELE:CURSOR-LAST ELE-TESTS::C) (ELE:CURSOR-DELETE ELE-TESTS::C)) (OR (ELE-TESTS::DELETED 5 '(3 1)) (ELE-TESTS::DELETED 3 '(5 1)) (ELE-TESTS::DELETED 1 '(5 3)))))) Expected value: T Actual value: #. Test ELE-TESTS::INDEXED-DELETE failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (ELE:CURSOR-LAST ELE-TESTS::CURS) (ELE:CURSOR-DELETE ELE-TESTS::CURS)))) Expected value: T Actual value: NIL. Test ELE-TESTS::TEST-DELETED failed Form: (VALUES (ELE:GET-VALUE 10000 ELE-TESTS::INDEXED2) (ELE:GET-VALUE 1000 ELE-TESTS::INDEX3)) Expected values: NIL NIL Actual value: #. Test ELE-TESTS::INDEXED-DELETE2 failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::CURS ELE-TESTS::INDEX3) (ELE:CURSOR-FIRST ELE-TESTS::CURS) (ELE:CURSOR-NEXT-DUP ELE-TESTS::CURS) (ELE:CURSOR-DELETE ELE-TESTS::CURS)))) Expected value: T Actual value: NIL. Test ELE-TESTS::TEST-DELETED2 failed Form: (VALUES (ELE:GET-VALUE 0 ELE-TESTS::INDEXED2) (ELE:GET-VALUE 0 ELE-TESTS::INDEX3) (ELE:GET-VALUE 1 ELE-TESTS::INDEXED2) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX3) (ELE:CURSOR-FIRST ELE-TESTS::C) (MULTIPLE-VALUE-BIND (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V) (ELE:CURSOR-NEXT ELE-TESTS::C) ELE-TESTS::V))) Expected values: 0 0 NIL -2 Actual value: #. Test ELE-TESTS::CUR-DEL2 failed Form: (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (LET* ((ELE-TESTS::IBT (ELE:MAKE-INDEXED-BTREE ELE:*STORE-CONTROLLER*)) (ELE-TESTS::ID1 (ELE:ADD-INDEX ELE-TESTS::IBT :INDEX-NAME 'ELE-TESTS::IDX1 :KEY-FORM 'ELE-TESTS::HALF-FLOOR))) (LOOP ELE-TESTS::FOR ELE-TESTS::I ELE-TESTS::FROM 0 ELE-TESTS::TO 10 DO (SETF (ELE:GET-VALUE ELE-TESTS::I ELE-TESTS::IBT) (* ELE-TESTS::I ELE-TESTS::I))) (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::ID1) (ELE:CURSOR-FIRST ELE-TESTS::C) (ELE:CURSOR-NEXT-DUP ELE-TESTS::C) (ELE:CURSOR-DELETE ELE-TESTS::C)) (OR (AND (NULL (ELE:GET-VALUE 1 ELE-TESTS::IBT)) (EQ (ELE:GET-VALUE 0 ELE-TESTS::IBT) 0)) (AND (NULL (ELE:GET-VALUE 0 ELE-TESTS::IBT)) (EQ (ELE:GET-VALUE 1 ELE-TESTS::IBT) 1))))) Expected value: T Actual value: #. Test ELE-TESTS::GET-BOTH failed Form: (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEXED2) (ELE:CURSOR-GET-BOTH ELE-TESTS::C 200 -200)) Expected values: T 200 -200 Actual value: #. Test ELE-TESTS::PGET-BOTH failed Form: (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX3) (MULTIPLE-VALUE-BIND (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P) (ELE:CURSOR-PGET-BOTH ELE-TESTS::C 10 107) (VALUES ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P))) Expected values: 10 -107 107 Actual value: #. Test ELE-TESTS::PGET-BOTH-RANGE failed Form: (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX3) (MULTIPLE-VALUE-BIND (ELE-TESTS::M ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P) (ELE:CURSOR-PGET-BOTH-RANGE ELE-TESTS::C 10 106.5) (VALUES ELE-TESTS::K ELE-TESTS::V ELE-TESTS::P))) Expected values: 10 -107 107 Actual value: #. Test ELE-TESTS::PCURSOR failed Form: (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX3) (VALUES (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PFIRST ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT-NODUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT-DUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PPREV ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PPREV-NODUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PLAST ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PSET ELE-TESTS::C 300)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PSET-RANGE ELE-TESTS::C 199.5)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PGET-BOTH ELE-TESTS::C 10 101)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PGET-BOTH-RANGE ELE-TESTS::C 11 111.4)))) Expected values: 0 2 10 11 10 9 9999 3000 2000 101 112 Actual value: #. Test ELE-TESTS::NEWINDEX failed Form: (ELE-TESTS::FINISHES (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INDEX4 (ELE:ADD-INDEX ELE-TESTS::INDEXED2 :INDEX-NAME 'ELE-TESTS::CRUNCH :KEY-FORM 'ELE-TESTS::CRUNCH :POPULATE T)))) Expected value: T Actual value: NIL. Test ELE-TESTS::PCURSOR2 failed Form: (ELE:WITH-BTREE-CURSOR (ELE-TESTS::C ELE-TESTS::INDEX4) (VALUES (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PFIRST ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT-NODUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PNEXT-DUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PPREV ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PPREV-NODUP ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PLAST ELE-TESTS::C)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PSET ELE-TESTS::C 300)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PSET-RANGE ELE-TESTS::C 199.5)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PGET-BOTH ELE-TESTS::C 10 101)) (ELE-TESTS::PCURSOR-PKEY (ELE:CURSOR-PGET-BOTH-RANGE ELE-TESTS::C 11 111.4)))) Expected values: 0 2 10 11 10 9 9999 3000 2000 101 112 Actual value: #. Test ELE-TESTS::ADD-GET-REMOVE failed Form: (LET ((ELE-TESTS::R1 'NIL) (ELE-TESTS::R2 'NIL)) (ELE:ADD-TO-ROOT "x1" "y1") (ELE:ADD-TO-ROOT "x2" "y2") (SETF ELE-TESTS::R1 (ELE:GET-FROM-ROOT "x1")) (SETF ELE-TESTS::R2 (ELE:GET-FROM-ROOT "x2")) (ELE:REMOVE-FROM-ROOT "x1") (ELE:REMOVE-FROM-ROOT "x2") (AND (EQUAL "y1" ELE-TESTS::R1) (EQUAL "y2" ELE-TESTS::R2) (EQUAL NIL (ELE:GET-FROM-ROOT "x1")) (EQUAL NIL (ELE:GET-FROM-ROOT "x2")))) Expected value: T Actual value: #. Test ELE-TESTS::ADD-GET-REMOVE-SYMBOL failed Form: (LET ((ELE-TESTS::FOO (CONS NIL NIL)) (ELE-TESTS::BAR (CONS 'ELE-TESTS::A 'ELE-TESTS::B)) (ELE-TESTS::F1 'NIL) (ELE-TESTS::F2 'NIL) (ELE-TESTS::B1 'NIL) (ELE-TESTS::B2 'NIL)) (ELE:ADD-TO-ROOT "my key" ELE-TESTS::FOO) (ELE:ADD-TO-ROOT "my other key" ELE-TESTS::FOO) (SETF ELE-TESTS::F1 (ELE:GET-FROM-ROOT "my key")) (SETF ELE-TESTS::F2 (ELE:GET-FROM-ROOT "my other key")) (ELE:ADD-TO-ROOT "my key" ELE-TESTS::BAR) (ELE:ADD-TO-ROOT "my other key" ELE-TESTS::BAR) (SETF ELE-TESTS::B1 (ELE:GET-FROM-ROOT "my key")) (SETF ELE-TESTS::B2 (ELE:GET-FROM-ROOT "my other key")) (AND (EQUAL ELE-TESTS::F1 ELE-TESTS::F2) (EQUAL ELE-TESTS::B1 ELE-TESTS::B2) (EQUAL ELE-TESTS::F1 ELE-TESTS::FOO) (EQUAL ELE-TESTS::B1 ELE-TESTS::BAR))) Expected value: T Actual value: #. Test ELE-TESTS::EXISTSP failed Form: (LET ((ELE-TESTS::EXISTS1 'NIL) (ELE-TESTS::EXISTS2 'NIL) (ELE-TESTS::EXISTS3 'NIL) (ELE-TESTS::KEY "my key")) (ELE:REMOVE-FROM-ROOT ELE-TESTS::KEY) (SETF ELE-TESTS::EXISTS1 (ELE:ROOT-EXISTSP ELE-TESTS::KEY)) (ELE:ADD-TO-ROOT ELE-TESTS::KEY 'ELE-TESTS::A) (SETF ELE-TESTS::EXISTS2 (ELE:ROOT-EXISTSP ELE-TESTS::KEY)) (ELE:REMOVE-FROM-ROOT ELE-TESTS::KEY) (SETF ELE-TESTS::EXISTS3 (ELE:ROOT-EXISTSP ELE-TESTS::KEY)) (VALUES ELE-TESTS::EXISTS1 ELE-TESTS::EXISTS2 ELE-TESTS::EXISTS3)) Expected values: NIL T NIL Actual value: #. Warning: Manually finalizing class IDX-ONE Test ELE-TESTS::DISABLE-CLASS-INDEXING-TEST failed Form: (PROGN (WHEN (FIND-CLASS 'ELE-TESTS::IDX-ONE NIL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-ONE) NIL)) (DEFCLASS ELE-TESTS::IDX-ONE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :ERRORP NIL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-ONE) NIL) T) Expected value: T Actual value: #. Test ELE-TESTS::INDEXING-BASIC-TRIVIAL failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-ONE) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-ONE) NIL)) (DEFCLASS ELE-TESTS::IDX-ONE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFMETHOD PRINT-OBJECT ((ELE-TESTS::OBJ ELE-TESTS::IDX-ONE) STREAM) (IF (SLOT-BOUNDP ELE-TESTS::OBJ 'ELE-TESTS::SLOT1) (FORMAT STREAM "slot1 = ~A~%" (ELE-TESTS::SLOT1 ELE-TESTS::OBJ)) (FORMAT STREAM "slot1 unbound~&"))) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INST1 (MAKE-INSTANCE 'ELE-TESTS::IDX-ONE :SLOT1 101 :SC ELE:*STORE-CONTROLLER*)) (SETQ ELE-TESTS::INST1 (MAKE-INSTANCE 'ELE-TESTS::IDX-ONE :SLOT1 101 :SC ELE:*STORE-CONTROLLER*))) (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-ONE)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :SC ELE:*STORE-CONTROLLER* :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-ONE) NIL) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-ONE))) Expected value: T Actual value: #. Test ELE-TESTS::INDEXING-BASIC failed Form: (LET ((ELE-TESTS::N 105)) (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-ONE) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-ONE :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-ONE NIL) NIL)) (DEFCLASS ELE-TESTS::IDX-ONE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFMETHOD PRINT-OBJECT ((ELE-TESTS::OBJ ELE-TESTS::IDX-ONE) STREAM) (IF (SLOT-BOUNDP ELE-TESTS::OBJ 'ELE-TESTS::SLOT1) (FORMAT STREAM "slot1 = ~A~%" (ELE-TESTS::SLOT1 ELE-TESTS::OBJ)) (FORMAT STREAM "slot1 unbound~&"))) (PROGN (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (SETQ ELE-TESTS::INST1 (MAKE-INSTANCE 'ELE-TESTS::IDX-ONE :SLOT1 ELE-TESTS::N :SC ELE:*STORE-CONTROLLER*)) (SETQ ELE-TESTS::INST2 (MAKE-INSTANCE 'ELE-TESTS::IDX-ONE :SLOT1 ELE-TESTS::N :SC ELE:*STORE-CONTROLLER*)) (SETQ ELE-TESTS::INST3 (MAKE-INSTANCE 'ELE-TESTS::IDX-ONE :SLOT1 (+ 1 ELE-TESTS::N) :SC ELE:*STORE-CONTROLLER*))) (VALUES (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-ONE)) (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-ONE 'ELE-TESTS::SLOT1 ELE-TESTS::N)) (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-ONE 'ELE-TESTS::SLOT1 (+ 1 ELE-TESTS::N))) (EQUAL (FIRST (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-ONE 'ELE-TESTS::SLOT1 (+ 1 ELE-TESTS::N))) ELE-TESTS::INST3) (LENGTH (ELE:GET-INSTANCES-BY-RANGE 'ELE-TESTS::IDX-ONE 'ELE-TESTS::SLOT1 ELE-TESTS::N (+ 1 ELE-TESTS::N)))))) Expected values: 3 2 1 T 3 Actual value: #. Test ELE-TESTS::INDEXING-CLASS-OPT failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-CSLOT :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-CSLOT) NIL)) (DEFCLASS ELE-TESTS::IDX-CSLOT NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS :INDEX T)) (VALUES (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-CSLOT))) Expected value: T Actual value: #. Test ELE-TESTS::INDEXING-INHERIT failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-TWO) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-TWO :SC ELE:*STORE-CONTROLLER* :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-TWO) NIL)) (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-THREE) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-THREE :SC ELE:*STORE-CONTROLLER* :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-THREE) NIL)) (DEFCLASS ELE-TESTS::IDX-TWO NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2 :INDEX T) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 3 :ACCESSOR ELE-TESTS::SLOT3) (ELE-TESTS::SLOT4 :INITARG :SLOT4 :INITFORM 4 :ACCESSOR ELE-TESTS::SLOT4 :TRANSIENT T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFCLASS ELE-TESTS::IDX-THREE (ELE-TESTS::IDX-TWO) ((ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 20 :ACCESSOR ELE-TESTS::SLOT2) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 30 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T) (ELE-TESTS::SLOT4 :INITARG :SLOT4 :INITFORM 40 :ACCESSOR ELE-TESTS::SLOT4 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (PROGN (ELE:WITH-TRANSACTION NIL (SETQ ELE-TESTS::INST1 (MAKE-INSTANCE 'ELE-TESTS::IDX-TWO :SC ELE:*STORE-CONTROLLER*)) (SETQ ELE-TESTS::INST2 (MAKE-INSTANCE 'ELE-TESTS::IDX-THREE :SC ELE:*STORE-CONTROLLER*))) (VALUES (ELE-TESTS::SLOT1 ELE-TESTS::INST1) (ELE-TESTS::SLOT2 ELE-TESTS::INST1) (ELE-TESTS::SLOT3 ELE-TESTS::INST1) (ELE-TESTS::SLOT4 ELE-TESTS::INST1) (ELE-TESTS::SLOT1 ELE-TESTS::INST2) (ELE-TESTS::SLOT2 ELE-TESTS::INST2) (ELE-TESTS::SLOT3 ELE-TESTS::INST2) (ELE-TESTS::SLOT4 ELE-TESTS::INST2) (EQUAL (ELE::INDEXING-RECORD-SLOTS (ELE::INDEXED-RECORD (FIND-CLASS 'ELE-TESTS::IDX-TWO))) '(ELE-TESTS::SLOT1 ELE-TESTS::SLOT2)) (EQUAL (ELE::INDEXING-RECORD-SLOTS (ELE::INDEXED-RECORD (FIND-CLASS 'ELE-TESTS::IDX-THREE))) '(ELE-TESTS::SLOT1 ELE-TESTS::SLOT3 ELE-TESTS::SLOT4))))) Expected values: 1 2 3 4 1 20 30 40 T T Actual value: #. Test ELE-TESTS::INDEXING-RANGE failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FOUR) (DEFCLASS ELE-TESTS::IDX-FOUR NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FOUR :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FOUR NIL) NIL)) (DEFCLASS ELE-TESTS::IDX-FOUR NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFUN ELE-TESTS::MAKE-IDX-FOUR (ELE-TESTS::VAL) (MAKE-INSTANCE 'ELE-TESTS::IDX-FOUR :SLOT1 ELE-TESTS::VAL)) (ELE:WITH-TRANSACTION NIL (MAPC #'ELE-TESTS::MAKE-IDX-FOUR '(1 1 1 2 2 4 5 5 5 6 10))) (LET ((ELE-TESTS::X1 (ELE:GET-INSTANCES-BY-RANGE 'ELE-TESTS::IDX-FOUR 'ELE-TESTS::SLOT1 2 6)) (ELE-TESTS::X2 (ELE:GET-INSTANCES-BY-RANGE 'ELE-TESTS::IDX-FOUR 'ELE-TESTS::SLOT1 0 2)) (ELE-TESTS::X3 (ELE:GET-INSTANCES-BY-RANGE 'ELE-TESTS::IDX-FOUR 'ELE-TESTS::SLOT1 6 15))) (VALUES (EQUAL (MAPCAR #'ELE-TESTS::SLOT1 ELE-TESTS::X1) '(2 2 4 5 5 5 6)) (EQUAL (MAPCAR #'ELE-TESTS::SLOT1 ELE-TESTS::X2) '(1 1 1 2 2)) (EQUAL (MAPCAR #'ELE-TESTS::SLOT1 ELE-TESTS::X3) '(6 10))))) Expected values: T T T Actual value: #. Test ELE-TESTS::INDEXING-SLOT-MAKUNBOUND failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-UNBOUND-DEL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-UNBOUND-DEL :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) (DEFCLASS ELE-TESTS::IDX-UNBOUND-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (MAKE-INSTANCE 'ELE-TESTS::IDX-UNBOUND-DEL :SLOT1 10)) (LET ((ELE-TESTS::ORIG-LEN (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) (ELE-TESTS::ORIG-OBJ (ELE:GET-INSTANCE-BY-VALUE 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) (SLOT-MAKUNBOUND ELE-TESTS::ORIG-OBJ 'ELE-TESTS::SLOT1) (LET ((ELE-TESTS::NEW-LEN (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-UNBOUND-DEL))) (ELE-TESTS::INDEX-OBJ (ELE:GET-INSTANCE-BY-VALUE 'ELE-TESTS::IDX-UNBOUND-DEL 'ELE-TESTS::SLOT1 10))) (VALUES ELE-TESTS::ORIG-LEN ELE-TESTS::NEW-LEN ELE-TESTS::INDEX-OBJ)))) Expected values: 1 1 NIL Actual value: #. Test ELE-TESTS::INDEXING-WIPE-INDEX failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE-DEL) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE-DEL :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE-DEL) NIL)) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (ELE:DROP-INSTANCES (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-FIVE-DEL)) (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE-DEL)) (LET ((ELE-TESTS::R1 (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1))) (DEFCLASS ELE-TESTS::IDX-FIVE-DEL NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1)) (:METACLASS ELE:PERSISTENT-METACLASS)) (VALUES (EQ (LENGTH ELE-TESTS::R1) 1) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE-DEL 'ELE-TESTS::SLOT1 1)) (NULL (ELE:GET-INDEX (ELE:GET-VALUE 'ELE-TESTS::IDX-FIVE-DEL (ELE:CONTROLLER-CLASS-ROOT ELE:*STORE-CONTROLLER*)) 'ELE-TESTS::SLOT1))))) Expected values: T T T Actual value: #. Test ELE-TESTS::INDEXING-RECONNECT-DB failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-FIVE) (DEFCLASS ELE-TESTS::IDX-FIVE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 3 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-FIVE :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE) NIL)) (DEFCLASS ELE-TESTS::IDX-FIVE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 3 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET ((ELE:*DEFAULT-INDEXED-CLASS-SYNCH-POLICY* :DB)) (ELE:WITH-TRANSACTION (:STORE-CONTROLLER ELE:*STORE-CONTROLLER*) (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE)) (SETF (FIND-CLASS 'ELE-TESTS::IDX-FIVE) NIL) (DEFCLASS ELE-TESTS::IDX-FIVE NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2 :INDEX T) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 3 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:WITH-TRANSACTION NIL (MAKE-INSTANCE 'ELE-TESTS::IDX-FIVE)) (VALUES (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE 'ELE-TESTS::SLOT3 3)) (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE 'ELE-TESTS::SLOT1 1)) (ELE-TESTS::SIGNALS-ERROR (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-FIVE 'ELE-TESTS::SLOT2 2)))))) Expected values: 2 2 T Actual value: #. Test ELE-TESTS::INDEXING-CHANGE-CLASS failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-SIX) (DEFCLASS ELE-TESTS::IDX-SIX NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-SIX :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-SIX) NIL)) (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-SEVEN) (DEFCLASS ELE-TESTS::IDX-SEVEN NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 10 :ACCESSOR ELE-TESTS::SLOT1 :INDEX NIL) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 30 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T) (ELE-TESTS::SLOT4 :INITARG :SLOT4 :INITFORM 40 :ACCESSOR ELE-TESTS::SLOT4 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-SEVEN :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-SEVEN) NIL)) (DEFCLASS ELE-TESTS::IDX-SIX NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 1 :ACCESSOR ELE-TESTS::SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 2 :ACCESSOR ELE-TESTS::SLOT2 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFCLASS ELE-TESTS::IDX-SEVEN NIL ((ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 10 :ACCESSOR ELE-TESTS::SLOT1 :INDEX NIL) (ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 30 :ACCESSOR ELE-TESTS::SLOT3 :INDEX T) (ELE-TESTS::SLOT4 :INITARG :SLOT4 :INITFORM 40 :ACCESSOR ELE-TESTS::SLOT4 :INDEX T)) (:METACLASS ELE:PERSISTENT-METACLASS)) (DEFMETHOD UPDATE-INSTANCE-FOR-DIFFERENT-CLASS :BEFORE ((ELE-TESTS::OLD ELE-TESTS::IDX-SIX) (ELE-TESTS::NEW ELE-TESTS::IDX-SEVEN) &KEY) (SETF (ELE-TESTS::SLOT3 ELE-TESTS::NEW) (ELE-TESTS::SLOT2 ELE-TESTS::OLD))) (LET ((ELE-TESTS::FOO (MAKE-INSTANCE 'ELE-TESTS::IDX-SIX))) (CHANGE-CLASS ELE-TESTS::FOO 'ELE-TESTS::IDX-SEVEN) (VALUES (ELE-TESTS::SLOT1 ELE-TESTS::FOO) (ELE-TESTS::SIGNALS-ERROR (ELE-TESTS::SLOT2 ELE-TESTS::FOO)) (ELE-TESTS::SLOT3 ELE-TESTS::FOO) (ELE-TESTS::SLOT4 ELE-TESTS::FOO) (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-SIX) (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-SIX 'ELE-TESTS::SLOT1 1) (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-SIX 'ELE-TESTS::SLOT2 2) (LENGTH (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::IDX-SEVEN)) (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-SEVEN 'ELE-TESTS::SLOT3 2))))) Expected values: 1 T 2 40 NIL NIL NIL 1 1 Actual value: #. Test ELE-TESTS::INDEXING-REDEF-CLASS failed Form: (PROGN (WHEN (ELE:CLASS-INDEXEDP-BY-NAME 'ELE-TESTS::IDX-EIGHT) (DEFCLASS ELE-TESTS::IDX-EIGHT NIL ((ELE-TESTS::SLOT1 :ACCESSOR ELE-TESTS::SLOT1 :INITARG :SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :ACCESSOR ELE-TESTS::SLOT2 :INITARG :SLOT2) (ELE-TESTS::SLOT3 :ACCESSOR ELE-TESTS::SLOT3 :INITARG :SLOT3 :TRANSIENT T) (ELE-TESTS::SLOT4 :ACCESSOR ELE-TESTS::SLOT4 :INITARG :SLOT4 :INDEX T) (ELE-TESTS::SLOT5 :ACCESSOR ELE-TESTS::SLOT5 :INITARG :SLOT5)) (:METACLASS ELE:PERSISTENT-METACLASS)) (ELE:DISABLE-CLASS-INDEXING 'ELE-TESTS::IDX-EIGHT :ERRORP NIL) (SETF (FIND-CLASS 'ELE-TESTS::IDX-EIGHT NIL) NIL)) (DEFCLASS ELE-TESTS::IDX-EIGHT NIL ((ELE-TESTS::SLOT1 :ACCESSOR ELE-TESTS::SLOT1 :INITARG :SLOT1 :INDEX T) (ELE-TESTS::SLOT2 :ACCESSOR ELE-TESTS::SLOT2 :INITARG :SLOT2) (ELE-TESTS::SLOT3 :ACCESSOR ELE-TESTS::SLOT3 :INITARG :SLOT3 :TRANSIENT T) (ELE-TESTS::SLOT4 :ACCESSOR ELE-TESTS::SLOT4 :INITARG :SLOT4 :INDEX T) (ELE-TESTS::SLOT5 :ACCESSOR ELE-TESTS::SLOT5 :INITARG :SLOT5)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET ((ELE-TESTS::O1 NIL) (ELE-TESTS::O2 NIL)) (ELE:WITH-TRANSACTION NIL (SETF ELE-TESTS::O1 (MAKE-INSTANCE 'ELE-TESTS::IDX-EIGHT :SLOT1 1 :SLOT2 2 :SLOT3 3 :SLOT4 4 :SLOT5 5)) (SETF ELE-TESTS::O2 (MAKE-INSTANCE 'ELE-TESTS::IDX-EIGHT :SLOT1 10 :SLOT2 20 :SLOT3 30 :SLOT4 40 :SLOT5 50))) (DEFCLASS ELE-TESTS::IDX-EIGHT NIL ((ELE-TESTS::SLOT1 :ACCESSOR ELE-TESTS::SLOT1 :INITARG :SLOT1 :INITFORM 11) (ELE-TESTS::SLOT2 :ACCESSOR ELE-TESTS::SLOT2 :INITARG :SLOT2 :INITFORM 12 :INDEX T) (ELE-TESTS::SLOT3 :ACCESSOR ELE-TESTS::SLOT3 :INITARG :SLOT3 :INITFORM 13) (ELE-TESTS::SLOT6 :ACCESSOR ELE-TESTS::SLOT6 :INITARG :SLOT6 :INITFORM 14 :INDEX T) (ELE-TESTS::SLOT7 :ACCESSOR ELE-TESTS::SLOT7 :INITARG :SLOT7)) (:METACLASS ELE:PERSISTENT-METACLASS)) (LET ((ELE-TESTS::V1 (AND (EQ (ELE-TESTS::SLOT1 ELE-TESTS::O1) 1) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-EIGHT 'ELE-TESTS::SLOT1 1)))) (ELE-TESTS::V2 (AND (EQ (ELE-TESTS::SLOT2 ELE-TESTS::O1) 2) (EQ (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-EIGHT 'ELE-TESTS::SLOT2 2)) 1))) (ELE-TESTS::V3 (EQ (ELE-TESTS::SLOT3 ELE-TESTS::O1) 13)) (ELE-TESTS::V4 (AND (NOT (SLOT-EXISTS-P ELE-TESTS::O1 'ELE-TESTS::SLOT4)) (NOT (SLOT-EXISTS-P ELE-TESTS::O1 'ELE-TESTS::SLOT5)) (ELE-TESTS::SIGNALS-ERROR (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-EIGHT 'ELE-TESTS::SLOT4 4)))) (ELE-TESTS::V5 (EQ (ELE-TESTS::SLOT6 ELE-TESTS::O1) 14)) (ELE-TESTS::V6 (EQ (LENGTH (ELE:GET-INSTANCES-BY-VALUE 'ELE-TESTS::IDX-EIGHT 'ELE-TESTS::SLOT6 14)) 2)) (ELE-TESTS::V7 (AND (NOT (SLOT-BOUNDP ELE-TESTS::O1 'ELE-TESTS::SLOT7)))) (ELE-TESTS::V8 (AND (NOT (SLOT-BOUNDP ELE-TESTS::O2 'ELE-TESTS::SLOT7))))) (VALUES ELE-TESTS::V1 ELE-TESTS::V2 ELE-TESTS::V3 ELE-TESTS::V4 ELE-TESTS::V5 ELE-TESTS::V6 ELE-TESTS::V7 ELE-TESTS::V8)))) Expected values: T T T T T T T T Actual value: #. Warning: Manually finalizing class STRESS-INDEX Test ELE-TESTS::INDEXING-TIMING failed Form: (PROGN (ELE-TESTS::MAKE-STRESS-CLASSES) (LET ((ELE-TESTS::INSTS (ELE:GET-INSTANCES-BY-CLASS 'ELE-TESTS::STRESS-INDEX)) (ELE-TESTS::START NIL) (ELE-TESTS::END NIL) (ELE-TESTS::NORMAL-CHECK NIL) (ELE-TESTS::INDEX-CHECK NIL) (ELE-TESTS::NORMAL-TIME 0) (ELE-TESTS::INDEX-TIME 0)) (WHEN ELE-TESTS::INSTS (ELE:DROP-INSTANCES ELE-TESTS::INSTS :SC ELE:*STORE-CONTROLLER*)) (ELE:WITH-TRANSACTION NIL (ELE-TESTS::NORMAL-STRESS-SETUP ELE-TESTS::*STRESS-COUNT* 'ELE-TESTS::STRESS-NORMAL :STRESS2 10)) (ELE:WITH-TRANSACTION NIL (ELE-TESTS::INDEXED-STRESS-SETUP ELE-TESTS::*STRESS-COUNT* 'ELE-TESTS::STRESS-INDEX :STRESS2 10)) (SETF ELE-TESTS::START (GET-INTERNAL-RUN-TIME)) (SETF ELE-TESTS::NORMAL-CHECK (ELE-TESTS::NORMAL-LOOKUP)) (SETF ELE-TESTS::END (GET-INTERNAL-RUN-TIME)) (SETF ELE-TESTS::NORMAL-TIME (/ (- ELE-TESTS::END ELE-TESTS::START 0.0) INTERNAL-TIME-UNITS-PER-SECOND)) (SETF ELE-TESTS::START (GET-INTERNAL-RUN-TIME)) (SETF ELE-TESTS::INDEX-CHECK (ELE-TESTS::INDEX-LOOKUP)) (SETF ELE-TESTS::END (GET-INTERNAL-RUN-TIME)) (SETF ELE-TESTS::INDEX-TIME (/ (- ELE-TESTS::END ELE-TESTS::START 0.0) INTERNAL-TIME-UNITS-PER-SECOND)) (FORMAT T "~%Ranged get of ~A/~A objects = Linear: ~A sec Indexed: ~A sec~%" ELE-TESTS::*RANGE-SIZE* ELE-TESTS::*STRESS-COUNT* ELE-TESTS::NORMAL-TIME ELE-TESTS::INDEX-TIME) (AND (EQUAL ELE-TESTS::NORMAL-CHECK ELE-TESTS::INDEX-CHECK) (> ELE-TESTS::NORMAL-TIME ELE-TESTS::INDEX-TIME)))) Expected value: T Actual value: #. Single store mode: ignoring ELE-TESTS::REMOVE-ELEMENT Single store mode: ignoring ELE-TESTS::MIGRATE-BASIC Single store mode: ignoring ELE-TESTS::MIGRATE-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-IDX-BTREE Single store mode: ignoring ELE-TESTS::MIGRATE-PCLASS Single store mode: ignoring ELE-TESTS::MIGRATE-IPCLASS 112 out of 357 total tests failed: :CONNECTION/1, :FDDL/TABLE/1, :OODML/UPDATE-RECORDS/1, :OODML/UPDATE-RECORDS/2, :OODML/UPDATE-RECORDS/3, :OODML/UPDATE-INSTANCE/1, :OODML/UPDATE-INSTANCE/2, :OODML/DO-QUERY/1, :OODML/DO-QUERY/2, :OODML/MAP-QUERY/1, :OODML/MAP-QUERY/2, :OODML/ITERATION/3, ELE-TESTS::FIXNUMS, ELE-TESTS::FIXNUM-TYPE-1, ELE-TESTS::READ-32-BIT-FIXNUM, ELE-TESTS::READ-64-BIT-FIXNUM, ELE-TESTS::WRITE-32-BIT-FIXNUM, ELE-TESTS::WRITE-64-BIT-FIXNUM, ELE-TESTS::BIGNUMS, ELE-TESTS::RATIONALS, ELE-TESTS::BASE-STRINGS, ELE-TESTS::STRINGS, ELE-TESTS::HARD-STRINGS, ELE-TESTS::SYMBOLS, ELE-TESTS::CHARS, ELE-TESTS::PATHNAMES, ELE-TESTS::CONSES, ELE-TESTS::HASH-TABLES-1, ELE-TESTS::HASH-TABLES-2, ELE-TESTS::ARRAYS-1, ELE-TESTS::ARRAYS-2, ELE-TESTS::OBJECTS, ELE-TESTS::STRUCTS, ELE-TESTS::STRUCT-NON-STD-CONSTRUCT, ELE-TESTS::CIRCULAR, ELE:PERSISTENT, ELE-TESTS::INITFORM-TEST, ELE-TESTS::INITARG-TEST, ELE-TESTS::NO-EVAL-INITFORM, MAKUNBOUND, ELE-TESTS::UPDATE-CLASS, CHANGE-CLASS, ELE-TESTS::CHANGE-CLASS3, ELE-TESTS::BASICPERSISTENCE, ELE-TESTS::BTREE-PUT, ELE-TESTS::BTREE-GET, ELE:REMOVE-KV, ELE-TESTS::REMOVED, ELE:MAP-BTREE, ELE-TESTS::INDEXED-BTREE-MAKE, ELE-TESTS::ADD-INDICES, ELE-TESTS::TEST-INDICES, ELE-TESTS::INDEXED-PUT, ELE-TESTS::INDEXED-GET, ELE-TESTS::SIMPLE-SLOT-GET, ELE-TESTS::INDEXED-GET-FROM-SLOT1, ELE-TESTS::INDEXED-GET-FROM-SLOT2, ELE-TESTS::REMOVE-KV-INDEXED, ELE-TESTS::NO-KEY-NOR-INDICES, ELE-TESTS::REMOVE-KV-FROM-SLOT1, ELE-TESTS::NO-KEY-NOR-INDICES-SLOT1, ELE-TESTS::REMOVE-KV-FROM-SLOT2, ELE-TESTS::NO-KEY-NOR-INDICES-SLOT2, ELE-TESTS::MAP-INDEXED, ELE-TESTS::GET-FIRST, ELE-TESTS::GET-FIRST2, ELE-TESTS::GET-LAST, ELE-TESTS::GET-LAST2, SET, ELE-TESTS::SET2, ELE-TESTS::SET-RANGE, ELE-TESTS::SET-RANGE2, ELE-TESTS::MAP-INDEXED-INDEX, ELE-TESTS::REM-KV, ELE-TESTS::REM-IDEXKV, ELE-TESTS::MAKE-INDEXED2, ELE-TESTS::ADD-INDICES2, ELE-TESTS::PUT-INDEXED2, ELE-TESTS::GET-INDEXED2, ELE-TESTS::GET-FROM-INDEX3, ELE-TESTS::DUP-TEST, ELE-TESTS::NODUP-TEST, ELE-TESTS::PREV-NODUP-TEST, ELE-TESTS::PNODUP-TEST, ELE-TESTS::PPREV-NODUP-TEST, ELE-TESTS::CUR-DEL1, ELE-TESTS::INDEXED-DELETE, ELE-TESTS::TEST-DELETED, ELE-TESTS::INDEXED-DELETE2, ELE-TESTS::TEST-DELETED2, ELE-TESTS::CUR-DEL2, ELE-TESTS::GET-BOTH, ELE-TESTS::PGET-BOTH, ELE-TESTS::PGET-BOTH-RANGE, ELE-TESTS::PCURSOR, ELE-TESTS::NEWINDEX, ELE-TESTS::PCURSOR2, ELE-TESTS::ADD-GET-REMOVE, ELE-TESTS::ADD-GET-REMOVE-SYMBOL, ELE-TESTS::EXISTSP, ELE-TESTS::DISABLE-CLASS-INDEXING-TEST, ELE-TESTS::INDEXING-BASIC-TRIVIAL, ELE-TESTS::INDEXING-BASIC, ELE-TESTS::INDEXING-CLASS-OPT, ELE-TESTS::INDEXING-INHERIT, ELE-TESTS::INDEXING-RANGE, ELE-TESTS::INDEXING-SLOT-MAKUNBOUND, ELE-TESTS::INDEXING-WIPE-INDEX, ELE-TESTS::INDEXING-RECONNECT-DB, ELE-TESTS::INDEXING-CHANGE-CLASS, ELE-TESTS::INDEXING-REDEF-CLASS, ELE-TESTS::INDEXING-TIMING. NIL CG-USER(10): _________________________________________________________________________ In 5 Schritten zur eigenen Homepage. Jetzt Domain sichern und gestalten! Nur 3,99 EUR/Monat! http://www.maildomain.web.de/?mc=021114 From read at robertlread.net Wed Mar 7 04:06:23 2007 From: read at robertlread.net (Robert L. Read) Date: Tue, 06 Mar 2007 22:06:23 -0600 Subject: [elephant-devel] windows + postgres-socket In-Reply-To: <439505132@web.de> References: <439505132@web.de> Message-ID: <1173240384.5313.317.camel@localhost.localdomain> On Wed, 2007-03-07 at 02:23 +0100, Frank Schorr wrote: > (asdf:operate 'asdf:load-op :elephant) > (asdf:operate 'asdf:load-op :ele-clsql) > (asdf:operate 'asdf:load-op :clsql-postgresql-socket) > (asdf:operate 'asdf:load-op :elephant-tests) > (ele-tests::do-backend-tests '(:clsql (:postgresql-socket "localhost" > "clsql-tests" "postgres" "$postgres%"))) > I suspect that if you "dropdb" and re-"createdb" your test database, you will be green. I know that is not helpful if you have data that you have to preserve. I have successfully upgraded the complex database that backs my company: http://konsenti.com using the latest version of Elephant, but Ian suggests that this not be tried until he formally announces the Beta test. Ian and are are committed to successful upgrade processes; starting one major release ago we began promising that anyone who build a database with Elephant would be able to upgrade as we upgrade versions. However, this process is inherently a little rougher and harder to test than a clean test. Let me know if your system passes the tests when you start from a clean DB. If it doesn't, I will re-study the issue somehow. I don't believe the BDB tests interfere at all with the SQL tests; I habitually do both and have never had a problem like that. -------------- next part -------------- An HTML attachment was scrubbed... URL: From read at robertlread.net Wed Mar 7 04:11:21 2007 From: read at robertlread.net (Robert L. Read) Date: Tue, 06 Mar 2007 22:11:21 -0600 Subject: [elephant-devel] windows + postgres-socket In-Reply-To: <439505132@web.de> References: <439505132@web.de> Message-ID: <1173240681.5313.321.camel@localhost.localdomain> On Wed, 2007-03-07 at 02:23 +0100, Frank Schorr wrote: > Now all 236 tests of clsql are OK. I can assume that clsql and the db > server can communicate > through the socket. Unfortunately, the elephant-tests produce many > errors > with the the latest CVs version. The test result is reproduced below. BTW, it looks like from those failures that the store-controller is simply not opening at all. I would ask myself you can perform the steps in the tutorial on the website, where you just open a store-controller and add something to the root. Also, one might try making a SQL call directly through the CLSQL interface, to see if you can just select something from a table. Forgive me speculating, but obviously, of CLSQL postgres-socket can't open on the database and execute queries, there no hope of getting Elephant to work that way. -------------- next part -------------- An HTML attachment was scrubbed... URL: From franks-muc at web.de Wed Mar 7 09:38:45 2007 From: franks-muc at web.de (Frank Schorr) Date: Wed, 07 Mar 2007 10:38:45 +0100 Subject: [elephant-devel] windows + postgres-socket Message-ID: <439826368@web.de> Robert, trying the first steps from the tutorial was a good hint. open store returned # which looked good, with all slots initialized. (add-to-root "my key" "my value") produced this error in ACL trial Error: Attempt to call # for which the definition has not yet been (or is no longer) loaded. [condition type: SIMPLE-ERROR] in function serialize-to-utf8 and this error in Lispworks: Foreign function ELEPHANT-MEMUTIL::WRITE-INT32 trying to call to unresolved external function "write_int32". (interesting: ACL did allow me to find out that write_int32... Usually the ACL debugger provides *much* more information than LW) This is the content of libmemutil.def: ; dlltool -z libmeutil.def --export-all-symbols -e exports.o -l libmemutil.lib libmemutil.o EXPORTS write_uint64_t @ 1 offset_charp @ 2 read_double @ 3 read_float @ 4 read_int32_t @ 5 read_int64_t @ 6 read_uint32_t @ 7 read_uint64_t @ 8 write_double @ 9 write_float @ 10 write_int32_t @ 11 write_int64_t @ 12 write_uint32_t @ 13 copy_buf @ 14 I then amended the def-function in memutil.lisp to have the "_t" (not really knowing what I am doing) #-(or cmu sbcl) (def-function ("write_int32_t" write-int32) ;; FS ((buf array-or-pointer-char) (num :int) (offset :int)) :returning :void) after eveluating the form in the ACL IDE (add-to-root "my key" "my value") (get-from-root "my key") work OK. I received this test result .... PGET-BOTH PGET-BOTH-RANGE PCURSOR NEWINDEX PCURSOR2 ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP Warning: Manually finalizing class IDX-ONE DISABLE-CLASS-INDEXING-TEST INDEXING-BASIC-TRIVIAL INDEXING-BASIC Test INDEXING-CLASS-OPT failed Form: (PROGN (WHEN (CLASS-INDEXEDP-BY-NAME 'IDX-CSLOT) (DISABLE-CLASS-INDEXING 'IDX-CSLOT :ERRORP NIL) (SETF (FIND-CLASS 'IDX-CSLOT) NIL)) (DEFCLASS IDX-CSLOT NIL ((SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR SLOT1)) (:METACLASS PERSISTENT-METACLASS :INDEX T)) (VALUES (CLASS-INDEXEDP-BY-NAME 'IDX-CSLOT))) Expected value: T Actual value: NIL. INDEXING-INHERIT INDEXING-RANGE INDEXING-SLOT-MAKUNBOUND Warning: Manually finalizing class IDX-FIVE-DEL INDEXING-WIPE-INDEX INDEXING-RECONNECT-DB INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS Ranged get of 10/700 objects = Linear: 14.15 sec Indexed: 1.462 sec INDEXING-TIMING Single store mode: ignoring REMOVE-ELEMENT Single store mode: ignoring MIGRATE-BASIC Single store mode: ignoring MIGRATE-BTREE Single store mode: ignoring MIGRATE-IDX-BTREE Single store mode: ignoring MIGRATE-PCLASS Single store mode: ignoring MIGRATE-IPCLASS 1 out of 121 total tests failed: INDEXING-CLASS-OPT. NIL Looks good !? However, when I load elephant in a fresh lisp, (add-to-root "my key" "my value") is ok, but (get-from-root "my key") Error: Attempt to call # for which the definition has not yet been (or is no longer) loaded. [condition type: SIMPLE-ERROR] in (method deserialize-string ((eql utf8) t)) So it is more complicated ... I think you will be able to improve it, the write_int32 is a hint. Best rgards Frank. _______________________________________________________________________ Viren-Scan f?r Ihren PC! Jetzt f?r jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222 From read at robertlread.net Wed Mar 7 14:10:01 2007 From: read at robertlread.net (Robert L. Read) Date: Wed, 07 Mar 2007 08:10:01 -0600 Subject: [elephant-devel] windows + postgres-socket In-Reply-To: <439826368@web.de> References: <439826368@web.de> Message-ID: <1173276602.5313.370.camel@localhost.localdomain> Wow, OK, great work! I suspect Ian will beat me to incorporating this, but he and I will continue working on it. On Wed, 2007-03-07 at 10:38 +0100, Frank Schorr wrote: > Robert, > > trying the first steps from the tutorial was a good hint. > > open store returned # > which looked good, with all slots initialized. > > (add-to-root "my key" "my value") > produced this error in ACL trial > > Error: Attempt to call # for which the definition has not yet been (or is no longer) loaded. > [condition type: SIMPLE-ERROR] > in function serialize-to-utf8 > > and this error in Lispworks: > Foreign function ELEPHANT-MEMUTIL::WRITE-INT32 trying to call to > unresolved external function "write_int32". > > (interesting: ACL did allow me to find out that write_int32... Usually the ACL > debugger provides *much* more information than LW) > > This is the content of libmemutil.def: > > ; dlltool -z libmeutil.def --export-all-symbols -e exports.o -l libmemutil.lib libmemutil.o > EXPORTS > write_uint64_t @ 1 > offset_charp @ 2 > read_double @ 3 > read_float @ 4 > read_int32_t @ 5 > read_int64_t @ 6 > read_uint32_t @ 7 > read_uint64_t @ 8 > write_double @ 9 > write_float @ 10 > write_int32_t @ 11 > write_int64_t @ 12 > write_uint32_t @ 13 > copy_buf @ 14 > > I then amended the def-function in memutil.lisp to have the "_t" > (not really knowing what I am doing) > > #-(or cmu sbcl) > (def-function ("write_int32_t" write-int32) ;; FS > ((buf array-or-pointer-char) > (num :int) > (offset :int)) > :returning :void) > > after eveluating the form in the ACL IDE > > (add-to-root "my key" "my value") > (get-from-root "my key") > > work OK. > I received this test result > .... > PGET-BOTH PGET-BOTH-RANGE PCURSOR NEWINDEX PCURSOR2 ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP > Warning: Manually finalizing class IDX-ONE > DISABLE-CLASS-INDEXING-TEST INDEXING-BASIC-TRIVIAL INDEXING-BASIC > Test INDEXING-CLASS-OPT failed > Form: (PROGN (WHEN (CLASS-INDEXEDP-BY-NAME 'IDX-CSLOT) (DISABLE-CLASS-INDEXING 'IDX-CSLOT :ERRORP NIL) (SETF (FIND-CLASS 'IDX-CSLOT) NIL)) > (DEFCLASS IDX-CSLOT NIL ((SLOT1 :INITARG :SLOT1 :INITFORM 0 :ACCESSOR SLOT1)) (:METACLASS PERSISTENT-METACLASS :INDEX T)) > (VALUES (CLASS-INDEXEDP-BY-NAME 'IDX-CSLOT))) > Expected value: T > Actual value: NIL. > INDEXING-INHERIT INDEXING-RANGE INDEXING-SLOT-MAKUNBOUND > Warning: Manually finalizing class IDX-FIVE-DEL > INDEXING-WIPE-INDEX INDEXING-RECONNECT-DB INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS > Ranged get of 10/700 objects = Linear: 14.15 sec Indexed: 1.462 sec > INDEXING-TIMING > Single store mode: ignoring REMOVE-ELEMENT > Single store mode: ignoring MIGRATE-BASIC > Single store mode: ignoring MIGRATE-BTREE > Single store mode: ignoring MIGRATE-IDX-BTREE > Single store mode: ignoring MIGRATE-PCLASS > Single store mode: ignoring MIGRATE-IPCLASS > 1 out of 121 total tests failed: INDEXING-CLASS-OPT. > NIL > > Looks good !? > > However, when I load elephant in a fresh lisp, > (add-to-root "my key" "my value") > is ok, but > > (get-from-root "my key") > Error: Attempt to call # for which the definition has not yet been (or is no longer) loaded. > [condition type: SIMPLE-ERROR] > in (method deserialize-string ((eql utf8) t)) > > So it is more complicated ... > > I think you will be able to improve it, the write_int32 is a hint. > > Best rgards Frank. > > > > _______________________________________________________________________ > Viren-Scan f?r Ihren PC! Jetzt f?r jeden. Sofort, online und kostenlos. > Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222 > > _______________________________________________ > 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: From henrik at evahjelte.com Fri Mar 9 16:55:40 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Fri, 09 Mar 2007 17:55:40 +0100 Subject: [elephant-devel] some comments about cvs Message-ID: <1173459340.7459.85.camel@trinidad> Here are some observations on the latest cvs version. /Henrik Hjelte Testmigration, line 182: (:dbcn-spc-pst (elephant::%index-cache (find-class 'ipfoo))))) should be: (elephant::dbcn-spc-pst (elephant::%index-cache (find-class 'ipfoo))))) Also, bdb doesn't compile on linux/sbcl/amd64: ; $ gcc -L//usr/local/BerkeleyDB.4.5/lib// -I//usr/local/BerkeleyDB.4.5/include// -shared -march=x86-64 -fPIC -Wall -O3 /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.c -o /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.so -lm -ldb45 /usr/bin/ld: cannot find -ldb45 collect2: ld returned 1 exit status I just did this change in ele-bdb.asd to make it compile: (defmethod compiler-options ((compiler (eql :gcc)) (c bdb-c-source) &key &allow-other-keys) (append (library-directories c) (call-next-method) #-linux (list "-ldb45") )) All tests work for the clsql backend. Currently 17 tests fail with bdb, like this: 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 values: T 5864068118088. From henrik at evahjelte.com Fri Mar 9 17:31:51 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Fri, 09 Mar 2007 18:31:51 +0100 Subject: [elephant-devel] A new Postmodern backend Message-ID: <1173461511.7459.119.camel@trinidad> I have made a new elephant backend, db-postmodern. It uses postgresql for storage, and the postmodern lisp socket interface instead of clsql. The implementation is actually quite different from the clsql backend. db-postmodern uses prepared queries and stored procedures for performance reasons. The db-postmodern cursor is based on a sql cursor. Each btree has its own database table. db-postmodern is slower than the berkeley db backend, I guess about four or five times. It now passes all tests and the migration test, but should of course be regarded as an alpha. It is only tested on sbcl, but should work on all platforms that postmodern supports. About postmodern: http://common-lisp.net/project/postmodern/ db-postmodern mainly uses the lower level cl-postgres driver in the postmodern project. During development I used a darcs mirror of elephant, and I have temporarily put it at common-lisp.net. This darcs branch is intended for people wanting to try db-postmodern, and it is not an automatic mirror of the cvs elephant. Download: To get elephant containing db-postmodern, darcs get http://common-lisp.net/project/grand-prix/darcs/elephant Best wishes, Henrik Hjelte From read at robertlread.net Sat Mar 10 01:17:15 2007 From: read at robertlread.net (Robert L. Read) Date: Fri, 09 Mar 2007 19:17:15 -0600 Subject: [elephant-devel] A new Postmodern backend In-Reply-To: <1173461511.7459.119.camel@trinidad> References: <1173461511.7459.119.camel@trinidad> Message-ID: <1173489436.5313.448.camel@localhost.localdomain> Wow. That is EXTREMELY cool! I will try to look at it this weekend. Thank you very much! On Fri, 2007-03-09 at 18:31 +0100, Henrik Hjelte wrote: > I have made a new elephant backend, db-postmodern. > It uses postgresql for storage, and the postmodern lisp socket interface > instead of clsql. The implementation is actually quite different from > the clsql backend. > > db-postmodern uses prepared queries and stored procedures for > performance reasons. > > The db-postmodern cursor is based on a sql cursor. Each btree has its > own database table. > > db-postmodern is slower than the berkeley db backend, I guess about four > or five times. > > It now passes all tests and the migration test, but should of course be > regarded as an alpha. It is only tested on sbcl, but should work on all > platforms that postmodern supports. > > About postmodern: > http://common-lisp.net/project/postmodern/ > db-postmodern mainly uses the lower level cl-postgres driver in the > postmodern project. > > During development I used a darcs mirror of elephant, and I have > temporarily put it at common-lisp.net. This darcs branch is intended for > people wanting to try db-postmodern, and it is not an automatic mirror > of the cvs elephant. > > Download: > > To get elephant containing db-postmodern, > darcs get http://common-lisp.net/project/grand-prix/darcs/elephant > > Best wishes, > Henrik Hjelte > > > _______________________________________________ > 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: From eslick at csail.mit.edu Sat Mar 10 02:50:29 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 9 Mar 2007 21:50:29 -0500 Subject: [elephant-devel] A new Postmodern backend In-Reply-To: <1173461511.7459.119.camel@trinidad> References: <1173461511.7459.119.camel@trinidad> Message-ID: Very cool! When we finish 0.6.1, we can throw it into the new darcs development tree as part of the 0.7.0 release plan. You might write some Trac tickets against it (what needs to be done to put it into a release, etc) so we can keep track of it. Did you learn anything about elephant that we should consider changing or improving while you wrote the new backend? Ian On Mar 9, 2007, at 12:31 PM, Henrik Hjelte wrote: > I have made a new elephant backend, db-postmodern. > It uses postgresql for storage, and the postmodern lisp socket > interface > instead of clsql. The implementation is actually quite different from > the clsql backend. > > db-postmodern uses prepared queries and stored procedures for > performance reasons. > > The db-postmodern cursor is based on a sql cursor. Each btree has its > own database table. > > db-postmodern is slower than the berkeley db backend, I guess about > four > or five times. > > It now passes all tests and the migration test, but should of > course be > regarded as an alpha. It is only tested on sbcl, but should work on > all > platforms that postmodern supports. > > About postmodern: > http://common-lisp.net/project/postmodern/ > db-postmodern mainly uses the lower level cl-postgres driver in the > postmodern project. > > During development I used a darcs mirror of elephant, and I have > temporarily put it at common-lisp.net. This darcs branch is > intended for > people wanting to try db-postmodern, and it is not an automatic mirror > of the cvs elephant. > > Download: > > To get elephant containing db-postmodern, > darcs get http://common-lisp.net/project/grand-prix/darcs/elephant > > Best wishes, > Henrik Hjelte > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Sat Mar 10 02:51:59 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 9 Mar 2007 21:51:59 -0500 Subject: [elephant-devel] some comments about cvs In-Reply-To: <1173459340.7459.85.camel@trinidad> References: <1173459340.7459.85.camel@trinidad> Message-ID: <446233E8-F7FC-4D7E-BBF7-C49275C963D5@csail.mit.edu> Sorry about that - some of the recent cvs instability is my fault. I've had some premature checkins. I currently am green on the non- migration backend tests for SBCL and ACL on Mac OS. I'm fixing the open migration issues today and tomorrow including beefing up the test suite for various cases I've discovered. Ian On Mar 9, 2007, at 11:55 AM, Henrik Hjelte wrote: > Here are some observations on the latest cvs version. > /Henrik Hjelte > > Testmigration, line 182: > > (:dbcn-spc-pst (elephant::%index-cache (find-class 'ipfoo))))) > should be: > (elephant::dbcn-spc-pst (elephant::%index-cache (find-class > 'ipfoo))))) > > > Also, bdb doesn't compile on linux/sbcl/amd64: > > ; $ gcc -L//usr/local/BerkeleyDB.4.5/lib// > -I//usr/local/BerkeleyDB.4.5/include// -shared -march=x86-64 -fPIC - > Wall > -O3 /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.c > -o /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.so -lm > -ldb45 > /usr/bin/ld: cannot find -ldb45 > collect2: ld returned 1 exit status > > I just did this change in ele-bdb.asd to make it compile: > > (defmethod compiler-options ((compiler (eql :gcc)) (c bdb-c-source) > &key > &allow-other-keys) > (append (library-directories c) > (call-next-method) > #-linux (list "-ldb45") > )) > > All tests work for the clsql backend. > Currently 17 tests fail with bdb, like this: > 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 values: T > 5864068118088. > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From read at robertlread.net Sat Mar 10 04:09:17 2007 From: read at robertlread.net (Robert L. Read) Date: Fri, 09 Mar 2007 22:09:17 -0600 Subject: [elephant-devel] some comments about cvs In-Reply-To: <446233E8-F7FC-4D7E-BBF7-C49275C963D5@csail.mit.edu> References: <1173459340.7459.85.camel@trinidad> <446233E8-F7FC-4D7E-BBF7-C49275C963D5@csail.mit.edu> Message-ID: <1173499757.5313.457.camel@localhost.localdomain> Actually, when we put darcs in place, I think it will be easier to support a branch-and-merge strategy that should inflict less pain on the would be users; but I would like to thank Ian and all of the people who have tested for getting us this far allow. On Fri, 2007-03-09 at 21:51 -0500, Ian Eslick wrote: > Sorry about that - some of the recent cvs instability is my fault. > I've had some premature checkins. I currently am green on the non- > migration backend tests for SBCL and ACL on Mac OS. I'm fixing the > open migration issues today and tomorrow including beefing up the > test suite for various cases I've discovered. > > Ian > > > On Mar 9, 2007, at 11:55 AM, Henrik Hjelte wrote: > > > Here are some observations on the latest cvs version. > > /Henrik Hjelte > > > > Testmigration, line 182: > > > > (:dbcn-spc-pst (elephant::%index-cache (find-class 'ipfoo))))) > > should be: > > (elephant::dbcn-spc-pst (elephant::%index-cache (find-class > > 'ipfoo))))) > > > > > > Also, bdb doesn't compile on linux/sbcl/amd64: > > > > ; $ gcc -L//usr/local/BerkeleyDB.4.5/lib// > > -I//usr/local/BerkeleyDB.4.5/include// -shared -march=x86-64 -fPIC - > > Wall > > -O3 /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.c > > -o /home/henrik/lisp/vc/elephant/src/db-bdb/libberkeley-db.so -lm > > -ldb45 > > /usr/bin/ld: cannot find -ldb45 > > collect2: ld returned 1 exit status > > > > I just did this change in ele-bdb.asd to make it compile: > > > > (defmethod compiler-options ((compiler (eql :gcc)) (c bdb-c-source) > > &key > > &allow-other-keys) > > (append (library-directories c) > > (call-next-method) > > #-linux (list "-ldb45") > > )) > > > > All tests work for the clsql backend. > > Currently 17 tests fail with bdb, like this: > > 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 values: T > > 5864068118088. > > > > > > _______________________________________________ > > elephant-devel site list > > elephant-devel at common-lisp.net > > http://common-lisp.net/mailman/listinfo/elephant-devel > > _______________________________________________ > 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: From aycan.irican at core.gen.tr Sat Mar 10 12:03:54 2007 From: aycan.irican at core.gen.tr (Aycan iRiCAN) Date: Sat, 10 Mar 2007 14:03:54 +0200 Subject: [elephant-devel] some comments about cvs In-Reply-To: <1173499757.5313.457.camel@localhost.localdomain> (Robert L. Read's message of "Fri\, 09 Mar 2007 22\:09\:17 -0600") References: <1173459340.7459.85.camel@trinidad> <446233E8-F7FC-4D7E-BBF7-C49275C963D5@csail.mit.edu> <1173499757.5313.457.camel@localhost.localdomain> Message-ID: <87odn1e251.fsf@core.gen.tr> "Robert L. Read" writes: > Actually, when we put darcs in place, I think it will be easier to support a branch-and-merge > strategy that should inflict less pain on the would be users; but I would like to thank Ian > and all of the people who have tested for getting us this far allow. Darcs has some performance penalties, git is another alternative. Best Regards, -- Aycan iRiCAN KOR Bili?im Teknolojileri http://www.core.gen.tr/ From eslick at csail.mit.edu Sat Mar 10 16:23:16 2007 From: eslick at csail.mit.edu (=?UTF-8?B?SWFuIEVzbGljaw==?=) Date: Sat, 10 Mar 2007 16:23:16 +0000 Subject: [elephant-devel] Re: public_html/darcs in c-l.net elephant In-Reply-To: References: <1C7B95BC-BB57-43FB-8F6E-EF34CBCD200F@csail.mit.edu> <1611691233-1173541956-cardhu_blackberry.rim.net-1442372296-@bxe005-cell01.bisx.prod.on.blackberry> Message-ID: <1497650547-1173543698-cardhu_blackberry.rim.net-1019676272-@bxe047-cell01.bisx.prod.on.blackberry> Well, its not as if we have that many developers. I think the idea is that we can have individual developer branchs, a stable branch and a release branch. Developers update stable when a set of changes are, uh, stable. That way we can avoid branches getting too far out of date and sidestep the simultaneous change issue. Ian Sent via BlackBerry from T-Mobile -----Original Message----- From: "Attila Lendvai" Date: Sat, 10 Mar 2007 17:07:30 To:eslick at csail.mit.edu Subject: Re: public_html/darcs in c-l.net elephant > What conditions lead to performance issues? Volume of patches or type of patches? > Is it due to haskell or the underlying algorithms? in my experience the only problem was when two branches were actively developed and the same files at the same positions received several changes. then trying to pull these (nested conflicting) changes into the other repo ended up in some exponential algorithms instead of bailing out and marking the conflicts. but other then this, those "performance issues" everyone talks about are non-existent. i've asked the darcs guys, and they know about this issue and have solutions, too, but as far as i know it's not yet implemented. hth, -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" (Ingmar Bergman - Smultronst?llet) From attila.lendvai at gmail.com Sat Mar 10 16:43:49 2007 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Sat, 10 Mar 2007 17:43:49 +0100 Subject: [elephant-devel] Re: public_html/darcs in c-l.net elephant In-Reply-To: <1497650547-1173543698-cardhu_blackberry.rim.net-1019676272-@bxe047-cell01.bisx.prod.on.blackberry> References: <1C7B95BC-BB57-43FB-8F6E-EF34CBCD200F@csail.mit.edu> <1611691233-1173541956-cardhu_blackberry.rim.net-1442372296-@bxe005-cell01.bisx.prod.on.blackberry> <1497650547-1173543698-cardhu_blackberry.rim.net-1019676272-@bxe047-cell01.bisx.prod.on.blackberry> Message-ID: > Well, its not as if we have that many developers. I think the idea is that we can have individual developer branchs, a stable branch and a release branch. Developers update stable when a set of changes are, uh, stable. That way we can avoid branches getting too far out of date and sidestep the simultaneous change issue. ...but i don't really want to influence your decision because it's none of my business! i also offer to convert the cvs repo to git if that's your decision (although i didn't use git before, but i guess it shouldn't be that different). but recent versions of tailor have some problems with cvs conversion and i had to unpull a few patches to make it work. and now that it works fine here, i tought i offer some help, even if it's as little as running tailor on the cvs repo. -- - attila "- The truth is that I've been too considerate, and so became unintentionally cruel... - I understand. - No, you don't understand! We don't speak the same language!" (Ingmar Bergman - Smultronst?llet) From read at robertlread.net Sat Mar 10 19:00:34 2007 From: read at robertlread.net (Robert L. Read) Date: Sat, 10 Mar 2007 13:00:34 -0600 Subject: [elephant-devel] Re: public_html/darcs in c-l.net elephant In-Reply-To: <1497650547-1173543698-cardhu_blackberry.rim.net-1019676272-@bxe047-cell01.bisx.prod.on.blackberry> References: <1C7B95BC-BB57-43FB-8F6E-EF34CBCD200F@csail.mit.edu> <1611691233-1173541956-cardhu_blackberry.rim.net-1442372296-@bxe005-cell01.bisx.prod.on.blackberry> <1497650547-1173543698-cardhu_blackberry.rim.net-1019676272-@bxe047-cell01.bisx.prod.on.blackberry> Message-ID: <1173553235.5313.481.camel@localhost.localdomain> I know this sounds weird coming from a LISP developer, but in the interest of leveraging mainstream knowledge I insist that we used either darcs or subversion. On Sat, 2007-03-10 at 16:23 +0000, Ian Eslick wrote: > Well, its not as if we have that many developers. I think the idea is that we can have individual developer branchs, a stable branch and a release branch. Developers update stable when a set of changes are, uh, stable. That way we can avoid branches getting too far out of date and sidestep the simultaneous change issue. > > Ian > > Sent via BlackBerry from T-Mobile > > -----Original Message----- > From: "Attila Lendvai" > Date: Sat, 10 Mar 2007 17:07:30 > To:eslick at csail.mit.edu > Subject: Re: public_html/darcs in c-l.net elephant > > > What conditions lead to performance issues? Volume of patches or type of patches? > > Is it due to haskell or the underlying algorithms? > > in my experience the only problem was when two branches were actively > developed and the same files at the same positions received several > changes. then trying to pull these (nested conflicting) changes into > the other repo ended up in some exponential algorithms instead of > bailing out and marking the conflicts. > > but other then this, those "performance issues" everyone talks about > are non-existent. > > i've asked the darcs guys, and they know about this issue and have > solutions, too, but as far as i know it's not yet implemented. > > hth, > > _______________________________________________ > 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: From nowhere.man at levallois.eu.org Sun Mar 11 00:26:00 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sun, 11 Mar 2007 01:26:00 +0100 Subject: [elephant-devel] some comments about cvs In-Reply-To: <87odn1e251.fsf@core.gen.tr> References: <1173459340.7459.85.camel@trinidad> <446233E8-F7FC-4D7E-BBF7-C49275C963D5@csail.mit.edu> <1173499757.5313.457.camel@localhost.localdomain> <87odn1e251.fsf@core.gen.tr> Message-ID: <20070311002600.GG7340@bateleur.arcanes.fr.eu.org> Scribit Aycan iRiCAN dies 10/03/2007 hora 14:03: > Darcs has some performance penalties, git is another alternative. As far as lispers are concerned, darcs is much more used, and known. But if an alternate choice were to be made, I wouldn't go to git, which is quite OS sensitive. At least it won't work at all under Windows, and I'm not sure it would work on all recent Unices... The other (good) choice is, IMHO, Mercurial. Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Fri Mar 16 04:50:44 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 16 Mar 2007 00:50:44 -0400 Subject: [elephant-devel] Lispworks 5.0 Message-ID: I've been chasing down problems in Lispworks 5.0. The crashes we saw earlier were due to bugs in the UFFI handling of Lispworks 5.0 foreign function definitions (it isn't supported yet, duh!). I'm submitting a patch to Kevin to include in the next release. I'll make this available to elephant users. Adapting Elephant to support Lispwork's type system, etc will take some time. Anyone interested in lending a hand? I may put this off and release the beta without Lispworks support if no one chimes up. The only things keeping us from Beta: - Lispworks 5.0 support - OpenMCL 64-bit Intel / Mac OS X support (no 32-bit version available) - A bug that pops up opening new DB's in SQLite Thanks, Ian From eslick at csail.mit.edu Fri Mar 16 14:53:15 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 16 Mar 2007 10:53:15 -0400 Subject: [elephant-devel] 0.6.1 alpha dependency Message-ID: Does anyone have a strong dependency on the current 0.6.1 alpha? I may need to change the serializer format to accommodate some types on lispworks that don't get properly deserialized. Specifically, lispworks supports a short-float which on most systems is synonymous with single-float but on lispworks is special. so if it is coerced and saved as single-float, when deserialized the type of short-float and single-float mismatch. I would need to add a new tag for short-float, but save it as a C single-float. There may be several other snafus of this nature. For various reasons I need to renumber the type tags which means that existing 0.6.1 databases will not be properly deserialized. Please let me know in the next day or two if this will be a problem. 0.6.0 can still upgrade to 0.6.1 serializer format, it is just existing 0.6.1 databases that will not be upgradable. Ian From nowhere.man at levallois.eu.org Fri Mar 16 18:27:57 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 16 Mar 2007 19:27:57 +0100 Subject: [elephant-devel] 0.6.1 alpha dependency In-Reply-To: References: Message-ID: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 16/03/2007 hora 10:53: > For various reasons I need to renumber the type tags which means that > existing 0.6.1 databases will not be properly deserialized. Coudln't the database format be versioned? We could then keep apart the code that work on a given version, to always be able to deserialize it... For such alpha versions it's obviously not worth the effort in the long term, but for stable releases it would probably be great. That would also be a strong argument to use Elephant, as users would not have to be afraid of losing their data. Or maybe an alternative would be to provide some verbose and inefficient serialization scheme that could be used as an intermediary when changing a database version... Doubtfully, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Fri Mar 16 18:59:32 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 16 Mar 2007 14:59:32 -0400 Subject: [elephant-devel] 0.6.1 alpha dependency In-Reply-To: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> References: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> Message-ID: <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> Actually the database format is versioned already (one of the big things we did in this release was make that possible) and so we can read 0.6.0 databases with the 0.6.1 code base in order to upgrade. As you say, I wasn't going to add a new version of the database format just to read alpha release databases, and so my question was to see if it was a big problem for someone. If it were, I might consider adding the serialization scheme you suggest (dump xml or s- expressions similar to cl-prevalence) to the current release. However it's taken too long already so I'd like to dispense with that and implement it later. That would be a good ticket to add the Trac database (http://trac.common-lisp.net/elephant) if you'd like to do so. Although there may already be one there if you want to check first. Ian On Mar 16, 2007, at 2:27 PM, Pierre THIERRY wrote: > Scribit Ian Eslick dies 16/03/2007 hora 10:53: >> For various reasons I need to renumber the type tags which means >> that >> existing 0.6.1 databases will not be properly deserialized. > > Coudln't the database format be versioned? We could then keep apart > the > code that work on a given version, to always be able to deserialize > it... For such alpha versions it's obviously not worth the effort > in the > long term, but for stable releases it would probably be great. > > That would also be a strong argument to use Elephant, as users > would not > have to be afraid of losing their data. > > Or maybe an alternative would be to provide some verbose and > inefficient > serialization scheme that could be used as an intermediary when > changing > a database version... > > Doubtfully, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From nowhere.man at levallois.eu.org Fri Mar 16 19:18:19 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 16 Mar 2007 20:18:19 +0100 Subject: [elephant-devel] 0.6.1 alpha dependency In-Reply-To: <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> References: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> Message-ID: <20070316191818.GA4460@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 16/03/2007 hora 14:59: > As you say, I wasn't going to add a new version of the database > format just to read alpha release databases, and so my question was > to see if it was a big problem for someone. It's an alpha release. Depending on it's behaviour is a mistake already. :-) IMHO, don't wait too long for an answer, and change the serializer. BTW, why is this change needed? Shouldn't every object serialized according to the value of (type-of object) ? > That would be a good ticket to add the Trac database > (http://trac.common-lisp.net/elephant) if you'd like to do so. > Although there may already be one there if you want to check first. I'll check and add it. Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From nowhere.man at levallois.eu.org Fri Mar 16 19:32:28 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 16 Mar 2007 20:32:28 +0100 Subject: Trac Wiki (was Re: [elephant-devel] 0.6.1 alpha dependency) In-Reply-To: <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> References: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> Message-ID: <20070316193228.GB4460@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 16/03/2007 hora 14:59: > That would be a good ticket to add the Trac database BTW, I can submit tickets but not edit the wiki, as I have no c-l.net account. I emailed Erik Enge 9 days ago asking to get one, without answer at this day. Curiously, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Fri Mar 16 20:34:01 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 16 Mar 2007 16:34:01 -0400 Subject: [elephant-devel] 0.6.1 alpha dependency In-Reply-To: <20070316191818.GA4460@bateleur.arcanes.fr.eu.org> References: <20070316182757.GZ4460@bateleur.arcanes.fr.eu.org> <4BA04DAE-EFAC-4D85-BA9D-EE9F7F34E2E4@csail.mit.edu> <20070316191818.GA4460@bateleur.arcanes.fr.eu.org> Message-ID: <6BFD6578-855A-405F-9758-BE9889BBD0C5@csail.mit.edu> For coding efficiency, we use a byte tag to indicate the type rather than the symbol returned from type-of. Turns out all lisps but lispworks have short-float = single-float and long-float = double- float, but the lisp spec provides for four different types. Therefore short-float is not a subtype of single-float as is true in most lisps. Up until lispworks, there was no need for special handling of the short-float type, so while I'll still store it as a single-float, I'll use the new tag to properly coerce the type on deserialization so the types are the same (otherwise it fails the regression suite). There are other, similar issues but none so far that require new tags. Ian On Mar 16, 2007, at 3:18 PM, Pierre THIERRY wrote: > Scribit Ian Eslick dies 16/03/2007 hora 14:59: >> As you say, I wasn't going to add a new version of the database >> format just to read alpha release databases, and so my question was >> to see if it was a big problem for someone. > > It's an alpha release. Depending on it's behaviour is a mistake > already. > :-) > > IMHO, don't wait too long for an answer, and change the serializer. > > BTW, why is this change needed? Shouldn't every object serialized > according to the value of (type-of object) ? > >> That would be a good ticket to add the Trac database >> (http://trac.common-lisp.net/elephant) if you'd like to do so. >> Although there may already be one there if you want to check first. > > I'll check and add it. > > Quickly, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From read at robertlread.net Fri Mar 16 23:55:00 2007 From: read at robertlread.net (Robert L. Read) Date: Fri, 16 Mar 2007 18:55:00 -0500 Subject: [elephant-devel] 0.6.1 alpha dependency In-Reply-To: References: Message-ID: <1174089300.9675.121.camel@localhost.localdomain> Actually, my live site http://konsenti.com is using the alpha version. However, I don't use any short floats, and as co-maintainer I should be one of the people who should be able to hack around any problem that arises. On Fri, 2007-03-16 at 10:53 -0400, Ian Eslick wrote: > Does anyone have a strong dependency on the current 0.6.1 alpha? I > may need to change the serializer format to accommodate some types on > lispworks that don't get properly deserialized. > > Specifically, lispworks supports a short-float which on most systems > is synonymous with single-float but on lispworks is special. so if > it is coerced and saved as single-float, when deserialized the type > of short-float and single-float mismatch. I would need to add a new > tag for short-float, but save it as a C single-float. There may be > several other snafus of this nature. For various reasons I need to > renumber the type tags which means that existing 0.6.1 databases will > not be properly deserialized. > > Please let me know in the next day or two if this will be a problem. > 0.6.0 can still upgrade to 0.6.1 serializer format, it is just > existing 0.6.1 databases that will not be upgradable. > > Ian > > _______________________________________________ > 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: From franks-muc at web.de Sun Mar 18 14:19:07 2007 From: franks-muc at web.de (Frank Schorr) Date: Sun, 18 Mar 2007 15:19:07 +0100 Subject: [elephant-devel] storing instances of non-persistent class Message-ID: <455270886@web.de> I was surprised to find that also objects which are not instances of a persistent-metaclass are handled and stored by elephant without complaints if they are slot values of a persistent class. In my code shown below, I expected to receive an undefined method error, similar to what is suggested by page 41 of http://www.franz.com/support/documentation/8.0/acache/doc/acache.pdf which requires that an encode-object method must be provided to indicate how a non-persitent object can be saved. Obviously, though this is not mentionned in the documentation, elephant can find this out by its own. Question 1: Can I rely on this, are there limitations ? The following commands work: (defclass nonpers-class () ((slot-a :accessor slot-a :initarg :slot-a) (slot-b :accessor slot-b :initarg :slot-b))) (defmethod calc-key ((obj nonpers-class)) (slot-a obj)) (defclass pers-class () ((myslot :accessor myslot) (myslot-key :index t)) (:metaclass persistent-metaclass)) (defmethod (setf myslot) :after (new-value (obj pers-class)) (setf (slot-value obj 'myslot-key) (calc-key new-value))) (setf inst-1 (make-instance 'nonpers-class :slot-a "aaa" :slot-b "111")) (setf inst-2 (make-instance 'nonpers-class :slot-a "bbb" :slot-b "222")) (setf inst-3 (make-instance 'nonpers-class :slot-a "ccc" :slot-b "333")) (setf pers-1 (make-instance 'pers-class)) (setf (myslot pers-1) inst-1) (setf pers-2 (make-instance 'pers-class)) (setf (myslot pers-2) inst-2) (setf pers-3 (make-instance 'pers-class)) (setf (myslot pers-3) inst-3) (get-instances-by-value 'pers-class 'myslot-key (calc-key (make-instance 'nonpers-class :slot-a "bbb" :slot-b "222"))) This means a key is calculated for objects of a non-persistent class, and this key is used to retrieve such objects. Question 2: Do you think such approach is ok or way too complicated ? I would be happy to receive comments on the above. Best regards, Frank Schorr _______________________________________________________________________ Viren-Scan f?r Ihren PC! Jetzt f?r jeden. Sofort, online und kostenlos. Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222 From eslick at csail.mit.edu Sun Mar 18 20:49:46 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sun, 18 Mar 2007 16:49:46 -0400 Subject: [elephant-devel] storing instances of non-persistent class In-Reply-To: <455270886@web.de> References: <455270886@web.de> Message-ID: <53DBCAD8-1873-4783-ACB1-F788078A6253@csail.mit.edu> Frank, We could certainly provide such an interface - currently we use the MOP to find all the slots for a standard-object and serialize their names and values. If we wrapped this in a method call, specific classes could override the default behavior. The current default is essentially like the example encode object example in the astore manual, except that it uses the MOP to get all the effective slots (see serializer2.lisp, the standard-object case in serialize). And yes, you can rely on this behavior. We have a more elegant means of implementing your example through the use of derived indices. This makes sense if you don't need durability of your standard objects, or do some complex computation on them in memory and then store them to disk via an explicit store to your persistent class slot. (i.e. persistent-class slots are somewhat like btree index entries for persisting most lisp values) ======================== Derived Index Demo ======================== (in-package :elephant-tests) (open-store *testbdb-spec*) (defclass nonpers-class () ((slot-a :accessor slot-a :initarg :slot-a) (slot-b :accessor slot-b :initarg :slot-b))) (defclass pers-class () ((myslot :accessor myslot)) (:metaclass persistent-metaclass) (:index t)) (defmethod derived-key-fn ((obj pers-class)) (slot-a (myslot obj))) (add-class-derived-index 'pers-class 'nonpers-index-slot-a 'derived- key-fn :populate nil) (setf inst-1 (make-instance 'nonpers-class :slot-a "aaa" :slot-b "111")) (setf inst-2 (make-instance 'nonpers-class :slot-a "bbb" :slot-b "222")) (setf inst-3 (make-instance 'nonpers-class :slot-a "ccc" :slot-b "333")) (setf pers-1 (make-instance 'pers-class)) (setf (myslot pers-1) inst-1) (setf pers-2 (make-instance 'pers-class)) (setf (myslot pers-2) inst-2) (setf pers-3 (make-instance 'pers-class)) (setf (myslot pers-3) inst-3) (get-instances-by-value 'pers-class 'nonpers-index-slot-a "bbb") (get-instances-by-range 'pers-class 'nonpers-index-slot-a "bbb" "ccc") Let me know if you have questions about this. The Lispworks port is making slow but steady progress! Cheers, Ian On Mar 18, 2007, at 10:19 AM, Frank Schorr wrote: > > I was surprised to find that also objects which are > not instances of a persistent-metaclass are handled and > stored by elephant without complaints > if they are slot values of a persistent class. > > In my code shown below, I expected to receive an undefined method > error, > similar to what is suggested by page 41 of > > http://www.franz.com/support/documentation/8.0/acache/doc/acache.pdf > > which requires that an encode-object method must be provided to > indicate > how a non-persitent object can be saved. Obviously, though this is not > mentionned in the documentation, elephant can find this > out by its own. > > Question 1: Can I rely on this, are there limitations ? > > > The following commands work: > > (defclass nonpers-class () > ((slot-a :accessor slot-a :initarg :slot-a) > (slot-b :accessor slot-b :initarg :slot-b))) > > (defmethod calc-key ((obj nonpers-class)) > (slot-a obj)) > > (defclass pers-class () > ((myslot :accessor myslot) > (myslot-key :index t)) > (:metaclass persistent-metaclass)) > > (defmethod (setf myslot) :after (new-value (obj pers-class)) > (setf (slot-value obj 'myslot-key) (calc-key new-value))) > > (setf inst-1 (make-instance 'nonpers-class :slot-a "aaa" :slot-b > "111")) > (setf inst-2 (make-instance 'nonpers-class :slot-a "bbb" :slot-b > "222")) > (setf inst-3 (make-instance 'nonpers-class :slot-a "ccc" :slot-b > "333")) > > (setf pers-1 (make-instance 'pers-class)) > (setf (myslot pers-1) inst-1) > > (setf pers-2 (make-instance 'pers-class)) > (setf (myslot pers-2) inst-2) > > (setf pers-3 (make-instance 'pers-class)) > (setf (myslot pers-3) inst-3) > > (get-instances-by-value 'pers-class > 'myslot-key > (calc-key (make-instance 'nonpers- > class :slot-a "bbb" :slot-b "222"))) > > This means a key is calculated for objects of a non-persistent class, > and this key is used to retrieve such objects. > > Question 2: Do you think such approach is ok or way too complicated ? > > I would be happy to receive comments on the above. > > Best regards, > Frank Schorr > > ______________________________________________________________________ > _ > Viren-Scan f?r Ihren PC! Jetzt f?r jeden. Sofort, online und > kostenlos. > Gleich testen! http://www.pc-sicherheit.web.de/freescan/?mc=022222 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Mon Mar 19 20:28:52 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Mon, 19 Mar 2007 16:28:52 -0400 Subject: [elephant-devel] Testing OpenMCL 1.1 (64-bit) Message-ID: <485C225F-AE8E-4F10-AB97-BA5CD9826653@csail.mit.edu> Anyone interested in running some tests on OpenMCL 1.1? (Or at least helping me configure my Intel Mac to do it)? FYI - Lispworks passes all tests under Mac OS now. Frank, do you want to test the latest on Windows? Let me know if there are problems and I can debug on this end. I promoted your build changes, but you should verify I integrated them correctly. Thank you, Ian From eslick at csail.mit.edu Mon Mar 19 20:31:41 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Mon, 19 Mar 2007 16:31:41 -0400 Subject: [elephant-devel] ele-bdb.lisp Message-ID: <36AE31D9-5652-49F5-88AE-794F540459D7@csail.mit.edu> Frank, I didn't notice this earlier because my Allegro configuration has cl- ppcre loaded by default, but your changes to ele-bdb.asd have a dependency on cl-ppcre. It's the only one in the entire elephant source tree and we'd like to minimize library dependencies so can we find a way to do this natively rather than with cl-ppcre? Thanks, Ian From franks-muc at web.de Mon Mar 19 23:20:18 2007 From: franks-muc at web.de (Frank Schorr) Date: Tue, 20 Mar 2007 00:20:18 +0100 Subject: [elephant-devel] ele-bdb.lisp Message-ID: <457094954@web.de> Ian: This is lispworks on windows: No tests failed. !!! This is a replacement for the function in ele-bdb.lisp having cl-ppcre in it: (defun path-for-cygwin (path) "DOS pathname -> cygwin pathname. Replace backslashes with slashes and drive letter with directory. e.g. \"C:\\dir\\\" -> \"/C/dir/\" (drive C: must be mounted as /C/ in cgwin)" (let* ((result (namestring path)) (colon-pos (position #\: result)) (drive-letter (char result (1- colon-pos)))) (setf (char result (1- colon-pos)) #\/) (setf (char result colon-pos) drive-letter) (substitute #\/ #\\ result))) One change is neccessary in elephant.asd: look for the string "patohname" and replace it by "pathname". elephant is running on my windows computer with ACl trial and lispworks pro. Best regards, Frank P.S.: derived indices are my favorites ! > Frank, > > I didn't notice this earlier because my Allegro configuration has cl- > ppcre loaded by default, but your changes to ele-bdb.asd have a > dependency on cl-ppcre. It's the only one in the entire elephant > source tree and we'd like to minimize library dependencies so can we > find a way to do this natively rather than with cl-ppcre? > > Thanks, > Ian > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel > _______________________________________________________________ SMS schreiben mit WEB.DE FreeMail - einfach, schnell und kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192 From eslick at csail.mit.edu Tue Mar 20 01:13:13 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Mon, 19 Mar 2007 21:13:13 -0400 Subject: [elephant-devel] ele-bdb.lisp In-Reply-To: <457094954@web.de> References: <457094954@web.de> Message-ID: That's good news! I'll promote your changes shortly. Thank you for all the help! Ian On Mar 19, 2007, at 7:20 PM, Frank Schorr wrote: > Ian: > > This is lispworks on windows: > > No tests failed. !!! > > This is a replacement for the function in ele-bdb.lisp having cl- > ppcre in it: > > (defun path-for-cygwin (path) > "DOS pathname -> cygwin pathname. Replace backslashes with slashes > and drive letter with directory. > e.g. \"C:\\dir\\\" -> \"/C/dir/\" (drive C: must be mounted as /C/ > in cgwin)" > (let* ((result (namestring path)) > (colon-pos (position #\: result)) > (drive-letter (char result (1- colon-pos)))) > (setf (char result (1- colon-pos)) #\/) > (setf (char result colon-pos) drive-letter) > (substitute #\/ #\\ result))) > > One change is neccessary in elephant.asd: > look for the string "patohname" and replace it by "pathname". > > elephant is running on my windows computer with ACl trial and > lispworks pro. > > Best regards, > Frank > > P.S.: derived indices are my favorites ! > > > >> Frank, >> >> I didn't notice this earlier because my Allegro configuration has cl- >> ppcre loaded by default, but your changes to ele-bdb.asd have a >> dependency on cl-ppcre. It's the only one in the entire elephant >> source tree and we'd like to minimize library dependencies so can we >> find a way to do this natively rather than with cl-ppcre? >> >> Thanks, >> Ian >> _______________________________________________ >> elephant-devel site list >> elephant-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/elephant-devel >> > > > _______________________________________________________________ > SMS schreiben mit WEB.DE FreeMail - einfach, schnell und > kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Tue Mar 20 15:04:59 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Tue, 20 Mar 2007 11:04:59 -0400 Subject: [elephant-devel] A new Postmodern backend In-Reply-To: <1173461511.7459.119.camel@trinidad> References: <1173461511.7459.119.camel@trinidad> Message-ID: <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> Henrik, Can you run a clean version of the latest CVS on your 64-bit SBCL implementation? I'd like to verify that the test suite is green on that configuration and I don't have a local 64-bit installation. This would be very much appreciated. I think we're just about ready to do a beta release, leaving only documentation to do. Thank you, Ian On Mar 9, 2007, at 12:31 PM, Henrik Hjelte wrote: > I have made a new elephant backend, db-postmodern. > It uses postgresql for storage, and the postmodern lisp socket > interface > instead of clsql. The implementation is actually quite different from > the clsql backend. > > db-postmodern uses prepared queries and stored procedures for > performance reasons. > > The db-postmodern cursor is based on a sql cursor. Each btree has its > own database table. > > db-postmodern is slower than the berkeley db backend, I guess about > four > or five times. > > It now passes all tests and the migration test, but should of > course be > regarded as an alpha. It is only tested on sbcl, but should work on > all > platforms that postmodern supports. > > About postmodern: > http://common-lisp.net/project/postmodern/ > db-postmodern mainly uses the lower level cl-postgres driver in the > postmodern project. > > During development I used a darcs mirror of elephant, and I have > temporarily put it at common-lisp.net. This darcs branch is > intended for > people wanting to try db-postmodern, and it is not an automatic mirror > of the cvs elephant. > > Download: > > To get elephant containing db-postmodern, > darcs get http://common-lisp.net/project/grand-prix/darcs/elephant > > Best wishes, > Henrik Hjelte > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From henrik at evahjelte.com Tue Mar 20 19:26:30 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Tue, 20 Mar 2007 20:26:30 +0100 Subject: [elephant-devel] A new Postmodern backend In-Reply-To: <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> References: <1173461511.7459.119.camel@trinidad> <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> Message-ID: <1174418790.27165.255.camel@trinidad> On Tue, 2007-03-20 at 11:04 -0400, Ian Eslick wrote: > Henrik, > > Can you run a clean version of the latest CVS on your 64-bit SBCL > implementation? I have run it with bdb and clsql backends. The winner is .... clsql with zero failings! Right now Berkeley DB fails some times, but the faults seems related to an extra return value from with-transaction. I haven't dug deep with this. It seems like a minor thing, I tried a simple fix in the testcase, see below. What should the return value actually be, what is the best way to solve it? I can continue debugging when I know. A minor thing, if late minute changes are allowed, maybe the contents of my attached my-config.sexp can be added to config.sexp with a #+(and sbcl linux). My Berkeley DB was built from source with default options, so it is probably correct for most linuxes. Another late thing, I have found a strange thing/bug in slot-bound-p-using-class that maybe should go into the release. See below. And the almost last thing, today I found another problem in collections.lisp, map-index method. See below. And the last thing: I thought I should use the new trac issue handling. But I couldn't find out where to submit new Issues? I must be missing something obvious. I tried to login with my common-lisp.net account but that didn't work either (and maybe shouldn't). Best wises, Henrik Hjelte Currently failing tests: 17 out of 126 total tests failed: GET-FIRST, GET-FIRST2, GET-LAST, GET-LAST2, SET, SET2, SET-RANGE, SET-RANGE2, REM-KV, REM-IDEXKV, DUP-TEST, NODUP-TEST, PREV-NODUP-TEST, PNODUP-TEST, PPREV-NODUP-TEST, CUR-DEL1, CUR-DEL2. Fix in the testcase: ELE-TESTS> (with-open-store (*default-spec*) (do-test 'get-first)) 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 values: T 5864070364760. NIL ELE-TESTS> (deftest get-first (prog1 (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))))) t) WARNING: Redefining test GET-FIRST GET-FIRST ELE-TESTS> (with-open-store (*default-spec*) (do-test 'get-first)) GET-FIRST ELE-TESTS> ------------ bug or whatever in slot-bound-p-using-class ------------- In classes.lisp, around line 243: (defmethod slot-boundp-using-class :around ((class persistent-metaclass) (instance persistent-object) (slot-def persistent-slot-definition)) "Checks if the slot exists in the database." (when instance (let ((name (slot-definition-name slot-def))) (persistent-slot-boundp (get-con instance) instance name)))) For some reason this method sometimes can be invoked when instance is nil. Is this the way Lisp methods should work? I would expect that instance always should be a persistent-object, never nil. Anyway, a nil value of instance make the method fail when trying to get-con, so I have changed it like this: - (let ((name (slot-definition-name slot-def))) - (persistent-slot-boundp (get-con instance) instance name))) + (when instance + (let ((name (slot-definition-name slot-def))) + (persistent-slot-boundp (get-con instance) instance name)))) -------------- bug in map-index -------------------------------- * bugfix map-index when start parameter is nil. Previously (get-instances-by-value 'class-name 'slot-name nil) would return a random "first" instance even though the slot-name was not nil hunk ./src/elephant/collections.lisp 351 -(defmethod map-index (fn (index btree-index) &rest args &key start end) +(defmethod map-index (fn (index btree-index) &rest args &key (start nil start-supplied-p) end) hunk ./src/elephant/collections.lisp 377 - (if start + (if start-supplied-p ---------------------------------------------------------------- -------------- next part -------------- ((:berkeley-db-include-dir . "/usr/local/BerkeleyDB.4.5/include/") (:berkeley-db-lib-dir . "/usr/local/BerkeleyDB.4.5/lib") (:berkeley-db-lib . "/usr/local/BerkeleyDB.4.5/lib/libdb-4.5.so") (:berkeley-db-deadlock . "/usr/local/BerkeleyDB.4.5/bin/db_deadlock") (:pthread-lib . nil) (:clsql-lib . nil) (:compiler . :gcc)) From eslick at csail.mit.edu Tue Mar 20 21:08:57 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Tue, 20 Mar 2007 17:08:57 -0400 Subject: [elephant-devel] SBCL64 Tests In-Reply-To: <1174418790.27165.255.camel@trinidad> References: <1173461511.7459.119.camel@trinidad> <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> <1174418790.27165.255.camel@trinidad> Message-ID: <009A99ED-528E-407F-8894-55C032161380@csail.mit.edu> Henrik, That is interesting. I can't seem to reproduce your get-first example under SBCL on my 32-bit Mac. Part of the problem may stem from the change I made recently to allow the with-transaction macro to return multiple values. What optimization settings are you using? Moreover, the '= operator should not be returning multiple values. Good eye on the map-index bugfix! The slot-boundp-using-class problem doesn't make alot of sense, however I'm not that familiar with the corner cases in GF dispatching. The fix does no harm so I've added it. I'll also incorporate your my-config.sexp. I'll promote all of this later today. Small bug fixes or interface cleanup at this level are perfectly valid even during the beta cycle. We would like 0.6.1 to be as solid as we can make it and focus on new features rather than core functionality and stability. I'll look into non-registered users submitting tickets on Trac and e- mail the list when I figure it out. Ian From henrik at evahjelte.com Tue Mar 20 23:51:56 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Wed, 21 Mar 2007 00:51:56 +0100 Subject: [elephant-devel] SBCL64 Tests In-Reply-To: <009A99ED-528E-407F-8894-55C032161380@csail.mit.edu> References: <1173461511.7459.119.camel@trinidad> <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> <1174418790.27165.255.camel@trinidad> <009A99ED-528E-407F-8894-55C032161380@csail.mit.edu> Message-ID: <1174434716.27165.272.camel@trinidad> Hm, it seems to have something to do with multiple-value-prog1. I'm to tired to understand what, it seems to work as expected when I do some testing from the repl. However if I slighly modify execute-transaction I can get all ele-bdb tests to run ok. What I've done is replace multiple-value-prog1 with multiple-value-list and setf. /Henrik (defmethod execute-transaction ((sc bdb-store-controller) txn-fn &key transaction parent environment (retries 100) degree-2 dirty-read txn-nosync txn-nowait txn-sync) (let ((env (if environment environment (controller-environment sc)))) (loop for count fixnum from 1 to retries for success of-type boolean = nil do (let ((txn (if transaction transaction (db-transaction-begin env :parent (if parent parent +NULL-VOID+) :degree-2 degree-2 :dirty-read dirty-read :txn-nosync txn-nosync :txn-nowait txn-nowait :txn-sync txn-sync)))) (declare (type pointer-void txn)) (let (result) (let ((*current-transaction* (make-transaction-record sc txn)) (*store-controller* sc)) (declare (special *current-transaction* *store-controller*)) (catch 'transaction (unwind-protect (progn (setf result (multiple-value-list (funcall txn-fn))) (db-transaction-commit txn :txn-nosync txn-nosync :txn-sync txn-sync) (setq success t)) (unless success (db-transaction-abort txn))))) (unless (and (eq result txn) (not success)) (return (values-list result))))) finally (error "Too many retries in transaction")))) From eslick at csail.mit.edu Wed Mar 21 02:11:13 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Tue, 20 Mar 2007 22:11:13 -0400 Subject: [elephant-devel] SBCL64 Tests In-Reply-To: <1174434716.27165.272.camel@trinidad> References: <1173461511.7459.119.camel@trinidad> <7F4118C7-9490-42C5-8270-6C9308AE81B9@csail.mit.edu> <1174418790.27165.255.camel@trinidad> <009A99ED-528E-407F-8894-55C032161380@csail.mit.edu> <1174434716.27165.272.camel@trinidad> Message-ID: Henrik, Thanks for the debugging! I'll roll that into my upcoming checkin. Now on to OpenMCL... Ian On Mar 20, 2007, at 7:51 PM, Henrik Hjelte wrote: > Hm, it seems to have something to do with multiple-value-prog1. > I'm to tired to understand what, it seems to work as expected when > I do > some testing from the repl. However if I slighly modify > execute-transaction I can get all ele-bdb tests to run ok. > > What I've done is replace multiple-value-prog1 with multiple-value- > list > and setf. > > /Henrik > > > (defmethod execute-transaction ((sc bdb-store-controller) txn-fn > &key > transaction parent environment > (retries 100) > degree-2 dirty-read txn-nosync txn-nowait txn-sync) > (let ((env (if environment environment (controller-environment > sc)))) > (loop > for count fixnum from 1 to retries > for success of-type boolean = nil > do > (let ((txn > (if transaction transaction > (db-transaction-begin env > :parent (if parent parent > +NULL-VOID+) > :degree-2 degree-2 > :dirty-read dirty-read > :txn-nosync txn-nosync > :txn-nowait txn-nowait > :txn-sync txn-sync)))) > (declare (type pointer-void txn)) > (let (result) > (let ((*current-transaction* (make-transaction-record sc > txn)) > (*store-controller* sc)) > (declare (special *current-transaction* *store- > controller*)) > (catch 'transaction > (unwind-protect > (progn > (setf result (multiple-value-list (funcall txn- > fn))) > (db-transaction-commit txn > :txn-nosync txn-nosync > :txn-sync txn-sync) > (setq success t)) > (unless success > (db-transaction-abort txn))))) > (unless (and (eq result txn) (not success)) > (return (values-list result))))) > finally (error "Too many retries in transaction")))) > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Wed Mar 21 14:53:36 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Wed, 21 Mar 2007 10:53:36 -0400 Subject: [elephant-devel] Trac System Message-ID: <1382F88B-9123-4B0A-937D-60370EACE634@csail.mit.edu> All users can now submit Trac tickets. If you would like an account, for example to be assigned tickets or to modify tickets, etc. Just let me know and I can add you. Cheers, Ian From eslick at csail.mit.edu Wed Mar 21 15:42:03 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Wed, 21 Mar 2007 11:42:03 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle Message-ID: We have tagged CVS with the tag ELEPHANT-0-6-1-BETA. OpenMCL still needs verification, but has been verified in the past so I don't think it's much work and the current tree seems very stable and addresses all the outstanding issues we documented and discovered for 0.6.1. This would be a good time to do a trial upgrade of your existing databases and try to incorporate this release in running systems. There may still be bugs, but we don't anticipate any major changes. From this point it is mostly documentation and augmenting the test suite where we can and with any luck there will be a release candidate in a week or two. Regards, Ian Eslick and Robert Read From henrik at evahjelte.com Wed Mar 21 17:58:14 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Wed, 21 Mar 2007 18:58:14 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: Message-ID: <1174499894.27165.304.camel@trinidad> Great work. It seems that one of my changes yesterday introduced a bug, so Ian fixed that bug and my change disappeared in the process. It suits me right, because I really should have made a testcase showing the bug before fixing it. Better later than never though. I modify the test indexing-basic in testindexing.lisp: (get-instances-by-value 'idx-one 'slot1 nil) should return zero instances, right? Now it returns three which is wrong. I had to modify the map-index method in collections.lisp some more to get this right without breaking other tests. Get-instances-by-value calls collections with start equal to end, so I do a special check for this, and that also makes it possible to use the cursor-pset function instead of cursor-pset-range which could be a speedup at least in theory. /Henrik Hjelte Changes: { hunk ./tests/testindexing.lisp 101 - (length (get-instances-by-range 'idx-one 'slot1 n (+ 1 n)))) + (length (get-instances-by-range 'idx-one 'slot1 n (+ 1 n))) + (length (get-instances-by-value 'idx-one 'slot1 nil))) hunk ./tests/testindexing.lisp 104 - 3 2 1 t 3) + 3 2 1 t 3 0) hunk ./src/elephant/collections.lisp 377 - (next-range)))))) + (next-range))))) + (same-start-and-end () + (when (and start-supplied-p end-supplied-p) + (or (and (null start) (null end)) + (and start end (lisp-compare<= start end) (lisp-compare<= end start)))))) hunk ./src/elephant/collections.lisp 384 - (if (and start-supplied-p (not (null start))) - (cursor-pset-range cur start) - (cursor-pfirst cur)) + (cond + ((same-start-and-end) + (cursor-pset cur start)) + ((and start-supplied-p (not (null start))) + (cursor-pset-range cur start)) + (t (cursor-pfirst cur))) } The whole new map-index method: (defmethod map-index (fn (index btree-index) &rest args &key (start nil start-supplied-p) (end nil end-supplied-p)) "Like map-btree, but takes a function of three arguments key, value and primary key if you want to get at the primary key value, otherwise use map-btree" (declare (dynamic-extent args) (ignorable args)) (let ((sc (get-con index))) (ensure-transaction (:store-controller sc) (with-btree-cursor (cur index) (labels ((next-range () (multiple-value-bind (exists? skey val pkey) (cursor-pnext-nodup cur) (if (and exists? (or (not end-supplied-p) (null end) (lisp-compare<= skey end))) (progn (funcall fn skey val pkey) (next-in-range skey)) (return-from map-index nil)))) (next-in-range (key) (multiple-value-bind (exists? skey val pkey) (cursor-pnext-dup cur) (if exists? (progn (funcall fn skey val pkey) (next-in-range key)) (progn (cursor-pset-range cur key) (next-range))))) (same-start-and-end () (when (and start-supplied-p end-supplied-p) (or (and (null start) (null end)) (and start end (lisp-compare<= start end) (lisp-compare<= end start)))))) (declare (dynamic-extent next-range next-in-range)) (multiple-value-bind (exists? skey val pkey) (cond ((same-start-and-end) (cursor-pset cur start)) ((and start-supplied-p (not (null start))) (cursor-pset-range cur start)) (t (cursor-pfirst cur))) (if (and exists? (or (not end-supplied-p) (null end) (lisp-compare<= skey end))) (progn (funcall fn skey val pkey) (next-in-range skey)) nil))))))) From eslick at csail.mit.edu Wed Mar 21 19:30:40 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Wed, 21 Mar 2007 15:30:40 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <1174499894.27165.304.camel@trinidad> References: <1174499894.27165.304.camel@trinidad> Message-ID: <3E019744-3034-4528-839B-D04DA633E060@csail.mit.edu> Henrik, I think there's a confusion here because we have not properly communicated the semantics we are intending for map-index. You have properly identified a problem in mine (inability to traverse null values) which I introduced to solve a problem I anticipated that shows up under your proposal. I implemented map-index by using 'null' values of start and end to mean 'first' and 'last'. Under this contract the current tests are correct. However, this use of null precludes indexing over actual null values which is a specification bug. You've fixed that by handling the presence or absence of the start/end keywords. That makes functions that wrap map-index more complex to write. For example, how do we want to have users specify queries such as: "all ages < 20" in get-instances-by-range? (which is based on map- index). We'd have to add keyword arguments or the 'null' contract to it. The current implementation is: (defun get-instances-by-range (class slot start end) ... (map-index #'collector slot-index :start start :end end)) In this case I force the user to use nil to indicate 'first' and 'last' and we should find an alternative to that in case people want to iterate over booleans (although thye could use by-value for nil and then for t). map-index needs a fix to provide get-instances-by- value for nulls, but not necessarily the current contract it creates in get-instances-by-range. Under your map-index proposal, if get-instances-by-range wants to implement the null contract you would have to do something like the following: (defun get-instances-by-range (class slot start end) ... (case ((and (null start) (null end)) (map-index #'collector slot-index)) ((null start) (map-index #'collector slot-index :end end)) ((null end) (map-index #'collector slot-index :start start)) (t (map-index #'collector slot-index :start start :end end)))) Or something that computes the keyword list and then uses apply, which isn't very convenient either. Users may also write their own query functions that utilize map-index and would have to reproduce this complex call to map-index syntax. I propose a third alternative for map-index: (defun map-index (fn index &key start end first last) ...) Where first and last are booleans that override any values in start and end and mean the first value and last value in the ordered index. Thus our implementation becomes: (defun get-instances-by-range (class slot start end) ... (map-index #'collector slot-index :start start :end end :first (null start) :last (null start))) or to use :first and :last (defun get-instances-by-range (class slot start end) ... (map-index #'collector slot-index :start start :end end :first (eq start :first) :last (eq end :last))) What do you think about the map-index interface and what should we do about first and last range queries in get-instances-by-range? One alternative is to also add :first and :last keywords to get- instances-by-range so we don't introduce any special values to the arguments start and end. Ian On Mar 21, 2007, at 1:58 PM, Henrik Hjelte wrote: > Great work. > It seems that one of my changes yesterday introduced a bug, so Ian > fixed > that bug and my change disappeared in the process. It suits me right, > because I really should have made a testcase showing the bug before > fixing it. Better later than never though. > > I modify the test indexing-basic in testindexing.lisp: > (get-instances-by-value 'idx-one 'slot1 nil) should return zero > instances, right? Now it returns three which is wrong. > > I had to modify the map-index method in collections.lisp some more to > get this right without breaking other tests. Get-instances-by-value > calls collections with start equal to end, so I do a special check for > this, and that also makes it possible to use the cursor-pset function > instead of cursor-pset-range which could be a speedup at least in > theory. > > /Henrik Hjelte > > Changes: > { > hunk ./tests/testindexing.lisp 101 > - (length (get-instances-by-range 'idx-one 'slot1 n (+ 1 > n)))) > + (length (get-instances-by-range 'idx-one 'slot1 n (+ 1 > n))) > + (length (get-instances-by-value 'idx-one 'slot1 > nil))) > hunk ./tests/testindexing.lisp 104 > - 3 2 1 t 3) > + 3 2 1 t 3 0) > hunk ./src/elephant/collections.lisp 377 > - (next-range)))))) > + (next-range))))) > + (same-start-and-end () > + (when (and start-supplied-p end-supplied-p) > + (or (and (null start) (null end)) > + (and start end (lisp-compare<= start end) > (lisp-compare<= end start)))))) > hunk ./src/elephant/collections.lisp 384 > - (if (and start-supplied-p (not (null start))) > - (cursor-pset-range cur start) > - (cursor-pfirst cur)) > + (cond > + ((same-start-and-end) > + (cursor-pset cur start)) > + ((and start-supplied-p (not (null start))) > + (cursor-pset-range cur start)) > + (t (cursor-pfirst cur))) > } > > The whole new map-index method: > > (defmethod map-index (fn (index btree-index) &rest args &key (start > nil > start-supplied-p) (end nil end-supplied-p)) > "Like map-btree, but takes a function of three arguments key, value > and primary key > if you want to get at the primary key value, otherwise use map- > btree" > (declare (dynamic-extent args) > (ignorable args)) > (let ((sc (get-con index))) > (ensure-transaction (:store-controller sc) > (with-btree-cursor (cur index) > (labels ((next-range () > (multiple-value-bind (exists? skey val pkey) (cursor-pnext-nodup > cur) > (if (and exists? > (or (not end-supplied-p) > (null end) > (lisp-compare<= skey end))) > (progn > (funcall fn skey val pkey) > (next-in-range skey)) > (return-from map-index nil)))) > (next-in-range (key) > (multiple-value-bind (exists? skey val pkey) (cursor-pnext-dup > cur) > (if exists? > (progn > (funcall fn skey val pkey) > (next-in-range key)) > (progn > (cursor-pset-range cur key) > (next-range))))) > (same-start-and-end () > (when (and start-supplied-p end-supplied-p) > (or (and (null start) (null end)) > (and start end (lisp-compare<= start end) > (lisp-compare<= end start)))))) > (declare (dynamic-extent next-range next-in-range)) > (multiple-value-bind (exists? skey val pkey) > (cond > ((same-start-and-end) > (cursor-pset cur start)) > ((and start-supplied-p (not (null start))) > (cursor-pset-range cur start)) > (t (cursor-pfirst cur))) > (if (and exists? > (or (not end-supplied-p) > (null end) > (lisp-compare<= skey end))) > (progn > (funcall fn skey val pkey) > (next-in-range skey)) > nil))))))) > > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From nowhere.man at levallois.eu.org Fri Mar 23 06:45:24 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 23 Mar 2007 07:45:24 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: Message-ID: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 21/03/2007 hora 11:42: > We have tagged CVS with the tag ELEPHANT-0-6-1-BETA. With: - Debian GNU/Linux 2.6.18 amd64 - SBCL 1.0.0.0 - SQLite3 backend 3 of 122 tests failed: - MIGRATE-BASIC - MIGRATE-IDX-BTREE - MIGRATE-IPCLASS I still have difficulties loading CL-SQL, except if I asdf-load the system myself before Elephant. I never took time to look at this part of the code, but maybe some hand-loading of CL-SQL happens in Elephant that could be replaced by calls to ASDF... Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From nowhere.man at levallois.eu.org Fri Mar 23 06:57:15 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 23 Mar 2007 07:57:15 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> References: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> Message-ID: <20070323065714.GJ5640@bateleur.arcanes.fr.eu.org> With: - Debian GNU/Linux 2.6.18 amd64 - SBCL 1.0.0.0 - BDB backend Compilation failed with: Berkeley DB error: Invalid argument Here is the compiler output for the relevant compilation unit: ; file: /home/pierre/Lisp/Elephant/elephant-CVS/src/db-bdb/bdb-transactions.lisp ; in: DEFMETHOD CONTROLLER-START-TRANSACTION (BDB-STORE-CONTROLLER) ; (DB-BDB::DB-TRANSACTION-BEGIN (DB-BDB::CONTROLLER-ENVIRONMENT DB-BDB::SC) ; :PARENT DB-BDB::PARENT :TXN-NOSYNC ; DB-BDB::TXN-NOSYNC :TXN-NOWAIT ; DB-BDB::TXN-NOWAIT :TXN-SYNC DB-BDB::TXN-SYNC ; :DIRTY-READ DB-BDB::DIRTY-READ ...) ; --> BLOCK LET LET* DB-BDB::%DB-TXN-BEGIN BLOCK WITH-ALIEN ; --> SYMBOL-MACROLET SYMBOL-MACROLET SYMBOL-MACROLET VALUES PROG1 LET ; --> ALIEN-FUNCALL SB-ALIEN-INTERNALS:NATURALIZE ; ==> ; (SB-ALIEN-INTERNALS:%SAP-ALIEN ALIEN ; '#) ; ; note: unable to ; optimize ; because: ; could not optimize away %SAP-ALIEN: forced to do runtime ; allocation of alien-value structure ; compiling (DEFMETHOD CONTROLLER-COMMIT-TRANSACTION ...) ; compiling (DEFMETHOD CONTROLLER-ABORT-TRANSACTION ...) ; /var/cache/common-lisp-controller/1000/sbcl/local/home/pierre/Lisp/Elephant/elephant-CVS/src/db-bdb/bdb-transactions.fasl written Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From edi at agharta.de Fri Mar 23 09:28:57 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 10:28:57 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: (Ian Eslick's message of "Wed, 21 Mar 2007 11:42:03 -0400") References: Message-ID: FWIW, I tried to build Elephant (current CVS) with LWW 5.0.1. I understand that Windows is currently not supported, but maybe you're interested anyway. Here's a summary: I have Cygwin installed. I had to make a few changes to make the build succeed for which a patch is attached. This includes a proposal to change "Programme" to "Program Files" in the example configuration as probably most users will have an English and not a German version of Windows. The tests with SQLite3 succeed only on every second attempt (with one failure - see below). On every other attempt (including the first one) I got this: Error: While accessing database # with expression "SELECT name FROM sqlite_master WHERE type='table' UNION ALL SELECT name FROM sqlite_temp_master WHERE type='table' ORDER BY name": Error 17 / database schema has changed has occurred. When I try the PostgreSQL tests, I immediately get this error: ELE-TESTS 3 > (do-backend-tests '(:clsql (:postgresql nil "elephant" nil nil))) Error: Argument NIL is not of type PATHNAME, STRING, or FILE-STREAM. 1 (abort) Return to level 0. 2 Return to top loop level 0. A full backtrace is attached below. I didn't try the BerkeleyDB tests. I do have Visual Studio, but I rarely use it and I couldn't figure out from Bill Clementson's instructions how to build the DLL. HTH, Edi. 1. SQLite3 test results ----------------------- ELE-TESTS 6 > (do-backend-tests *testsqlite3-spec*) Doing 122 pending tests of 122 tests total. FIXNUMS FIXNUM-TYPE-1 READ-32-BIT-FIXNUM READ-64-BIT-FIXNUM WRITE-32-BIT-FIXNUM WRITE-64-BIT-FIXNUM BIGNUMS FLOATS RATIONALS BASE-STRINGS STRINGS HARD-STRINGS SYMBOLS CHARS PATHNAMES CONSES HASH-TABLES-1 HASH-TABLES-2 ARRAYS-1 ARRAYS-2 TEST-DEEP-EQUALP OBJECTS STRUCTS STRUCT-NON-STD-CONSTRUCT 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 UPDATE-CLASS CHANGE-CLASS CHANGE-CLASS3 BASICPERSISTENCE TESTOID BTREE-MAKE BTREE-PUT BTREE-GET REMOVE-KV REMOVED MAP-BTREE INDEXED-BTREE-MAKE ADD-INDICES TEST-INDICES INDEXED-PUT INDEXED-GET SIMPLE-SLOT-GET INDEXED-GET-FROM-SLOT1 INDEXED-GET-FROM-SLOT2 REMOVE-KV-INDEXED 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 Test MAP-INDEXED-INDEX failed Form: (LET ((SUM 0)) (FLET ((COLLECTOR (KEY VALUE PKEY) (INCF SUM (SLOT1 VALUE)))) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START NIL :END 10) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 990 :END NIL) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 400 :END 410)) SUM) Expected value: 15449 Actual value: #. REM-KV REM-IDEXKV MAKE-INDEXED2 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 ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP Warning: Manually finalizing class IDX-ONE DISABLE-CLASS-INDEXING-TEST INDEXING-BASIC-TRIVIAL INDEXING-BASIC INDEXING-CLASS-OPT INDEXING-INHERIT INDEXING-RANGE INDEXING-SLOT-MAKUNBOUND Warning: Manually finalizing class IDX-FIVE-DEL INDEXING-WIPE-INDEX INDEXING-RECONNECT-DB INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS Warning: Manually finalizing class STRESS-INDEX Ranged get of 10/700 objects = Linear: 8.052 sec Indexed: 0.921 sec INDEXING-TIMING Single store mode: ignoring REMOVE-ELEMENT Single store mode: ignoring MIGRATE-BASIC Single store mode: ignoring MIGRATE-BTREE Single store mode: ignoring MIGRATE-IDX-BTREE Single store mode: ignoring MIGRATE-PCLASS Single store mode: ignoring MIGRATE-MULT-PCLASS Single store mode: ignoring MIGRATE-IPCLASS 1 out of 122 total tests failed: MAP-INDEXED-INDEX. NIL 2. Backtrace from PostgreSQL test --------------------------------- Backtrace: # # Condition: Argument NIL is not of type PATHNAME, STRING, or FILE-STREAM. Call to SYSTEM::IN-TRUENAME (offset 465) SYSTEM::P : NIL Call to PROBE-FILE (offset 28) SYSTEM::FILE : NIL Call to (METHOD ELEPHANT::OPEN-CONTROLLER (DB-CLSQL::SQL-STORE-CONTROLLER)) (offset 554) DB-CLSQL::SC : # DBG::G : :DONT-KNOW DB-CLSQL::RECOVER : :DONT-KNOW DB-CLSQL::RECOVER-FATAL : :DONT-KNOW DB-CLSQL::THREAD : :DONT-KNOW CLOS::.ISL. : #(#(#(1597 (ELEPHANT::SPEC ELEPHANT::ROOT ELEPHANT::CLASS-ROOT ELEPHANT::INSTANCE-CACHE ELEPHANT::INSTANCE-CACHE-LOCK ELEPHANT::SERIALIZER-VERSION SERIALIZE DESERIALIZE DB-CLSQL::DBCONS DB-CLSQL::USES-PK) NIL #) #(2 1 8) NIL NIL) #(ELEPHANT::CLASS-ROOT ELEPHANT::ROOT DB-CLSQL::DBCONS) 2 0) CLOS::.PV. : #(2 1 8) DB-CLSQL::DBTYPE : :POSTGRESQL DB-CLSQL::PATH : NIL Call to CLOS::GENERIC-FUNCTION-DISCRIMINATOR (offset 263) Call to OPEN-STORE (offset 58) ELEPHANT::SPEC : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)) ELEPHANT::ARGS : NIL ELEPHANT::CONTROLLER : # Binding frame: *STORE-CONTROLLER* : NIL Call to DO-BACKEND-TESTS (offset 106) SPEC : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)) *STORE-CONTROLLER* : NIL Call to SYSTEM::%INVOKE (offset 400) Call to SYSTEM::%EVAL (offset 217) EXP : (DO-BACKEND-TESTS (QUOTE (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)))) SYSTEM::%EVAL <- EVAL <- SYSTEM::DO-EVALUATION <- SYSTEM::%TOP-LEVEL-INTERNAL <- SYSTEM::%TOP-LEVEL <- SYSTEM::LISTENER-TOP-LEVEL <- CAPI::CAPI-TOP-LEVEL-FUNCTION <- CAPI::INTERACTIVE-PANE-TOP-LOOP <- (HARLEQUIN-COMMON-LISP:SUBFUNCTION MP::PROCESS-SG-FUNCTION MP::INITIALIZE-PROCESS-STACK) <- SYSTEM::%%FIRST-CALL-TO-STACK -------------- next part -------------- A non-text attachment was scrubbed... Name: elephant.diff Type: text/x-patch Size: 3655 bytes Desc: not available URL: From eslick at csail.mit.edu Fri Mar 23 11:30:38 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 07:30:38 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: Message-ID: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Thank you for the work! The SQLite problem is a known one. There is some initialization problem that causes this error - however it is only when creating the DB. Once you've created it, and restart the tests, it should work. I haven't had the time to track this down and Robert has been busy. I'll let Robert handle the Postgresql question as I've never used it. I believe you can download a pre-built BDB Windows DLL distribution from Oracle. The rest of the libraries should be built automatically using cygwin during the ASDF loads of elephant and ele-bdb if you select the :cygwin compiler option and provide paths to the BDB distribution. We've verified both Allegro 8 and Lispworks 5 using this configuration and the downloaded BDB. Thank you, Ian On Mar 23, 2007, at 5:28 AM, Edi Weitz wrote: > FWIW, I tried to build Elephant (current CVS) with LWW 5.0.1. I > understand that Windows is currently not supported, but maybe you're > interested anyway. Here's a summary: > > I have Cygwin installed. I had to make a few changes to make the > build succeed for which a patch is attached. This includes a proposal > to change "Programme" to "Program Files" in the example configuration > as probably most users will have an English and not a German version > of Windows. > > The tests with SQLite3 succeed only on every second attempt (with one > failure - see below). On every other attempt (including the first > one) I got this: > > Error: While accessing database # c:\home\lisp\elephant\tests\sqlite3-test.db OPEN 21D862D3> > with expression "SELECT name FROM sqlite_master WHERE > type='table' UNION ALL SELECT name FROM sqlite_temp_master WHERE > type='table' ORDER BY name": > Error 17 / database schema has changed > has occurred. > > When I try the PostgreSQL tests, I immediately get this error: > > ELE-TESTS 3 > (do-backend-tests '(:clsql (:postgresql nil > "elephant" nil nil))) > > Error: Argument NIL is not of type PATHNAME, STRING, or FILE-STREAM. > 1 (abort) Return to level 0. > 2 Return to top loop level 0. > > A full backtrace is attached below. > > I didn't try the BerkeleyDB tests. I do have Visual Studio, but I > rarely use it and I couldn't figure out from Bill Clementson's > instructions how to build the DLL. > > HTH, > Edi. > > > 1. SQLite3 test results > ----------------------- > > ELE-TESTS 6 > (do-backend-tests *testsqlite3-spec*) > Doing 122 pending tests of 122 tests total. > FIXNUMS FIXNUM-TYPE-1 READ-32-BIT-FIXNUM READ-64-BIT-FIXNUM > WRITE-32-BIT-FIXNUM WRITE-64-BIT-FIXNUM > BIGNUMS FLOATS RATIONALS BASE-STRINGS STRINGS HARD-STRINGS SYMBOLS > CHARS PATHNAMES CONSES HASH-TABLES-1 > HASH-TABLES-2 ARRAYS-1 ARRAYS-2 TEST-DEEP-EQUALP OBJECTS STRUCTS > STRUCT-NON-STD-CONSTRUCT 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 UPDATE-CLASS > CHANGE-CLASS CHANGE-CLASS3 > BASICPERSISTENCE TESTOID BTREE-MAKE BTREE-PUT BTREE-GET REMOVE-KV > REMOVED MAP-BTREE INDEXED-BTREE-MAKE > ADD-INDICES TEST-INDICES INDEXED-PUT INDEXED-GET SIMPLE-SLOT-GET > INDEXED-GET-FROM-SLOT1 > INDEXED-GET-FROM-SLOT2 REMOVE-KV-INDEXED 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 > Test MAP-INDEXED-INDEX failed > Form: (LET ((SUM 0)) (FLET ((COLLECTOR (KEY VALUE PKEY) (INCF SUM > (SLOT1 VALUE)))) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START > NIL :END 10) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 990 :END > NIL) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 400 :END 410)) SUM) > Expected value: 15449 > Actual value: #. > REM-KV REM-IDEXKV MAKE-INDEXED2 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 > ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP > Warning: Manually finalizing class IDX-ONE DISABLE-CLASS-INDEXING- > TEST INDEXING-BASIC-TRIVIAL > INDEXING-BASIC INDEXING-CLASS-OPT INDEXING-INHERIT INDEXING-RANGE > INDEXING-SLOT-MAKUNBOUND > Warning: Manually finalizing class IDX-FIVE-DEL INDEXING-WIPE-INDEX > INDEXING-RECONNECT-DB > INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS > Warning: Manually finalizing class STRESS-INDEX > Ranged get of 10/700 objects = Linear: 8.052 sec Indexed: 0.921 sec > INDEXING-TIMING > Single store mode: ignoring REMOVE-ELEMENT > Single store mode: ignoring MIGRATE-BASIC > Single store mode: ignoring MIGRATE-BTREE > Single store mode: ignoring MIGRATE-IDX-BTREE > Single store mode: ignoring MIGRATE-PCLASS > Single store mode: ignoring MIGRATE-MULT-PCLASS > Single store mode: ignoring MIGRATE-IPCLASS > 1 out of 122 total tests failed: MAP-INDEXED-INDEX. > NIL > > > 2. Backtrace from PostgreSQL test > --------------------------------- > > Backtrace: > # > # State "Running"> > > Condition: Argument NIL is not of type PATHNAME, STRING, or FILE- > STREAM. > Call to SYSTEM::IN-TRUENAME (offset 465) > SYSTEM::P : NIL > > Call to PROBE-FILE (offset 28) > SYSTEM::FILE : NIL > > Call to (METHOD ELEPHANT::OPEN-CONTROLLER (DB-CLSQL::SQL-STORE- > CONTROLLER)) (offset 554) > DB-CLSQL::SC : # > DBG::G : :DONT-KNOW > DB-CLSQL::RECOVER : :DONT-KNOW > DB-CLSQL::RECOVER-FATAL : :DONT-KNOW > DB-CLSQL::THREAD : :DONT-KNOW > CLOS::.ISL. : #(#(#(1597 (ELEPHANT::SPEC > ELEPHANT::ROOT ELEPHANT::CLASS-ROOT ELEPHANT::INSTANCE-CACHE > ELEPHANT::INSTANCE-CACHE-LOCK ELEPHANT::SERIALIZER-VERSION > SERIALIZE DESERIALIZE DB-CLSQL::DBCONS DB-CLSQL::USES-PK) NIL > #) #(2 1 8) > NIL NIL) #(ELEPHANT::CLASS-ROOT ELEPHANT::ROOT DB-CLSQL::DBCONS) 2 0) > CLOS::.PV. : #(2 1 8) > DB-CLSQL::DBTYPE : :POSTGRESQL > DB-CLSQL::PATH : NIL > > Call to CLOS::GENERIC-FUNCTION-DISCRIMINATOR (offset 263) > > Call to OPEN-STORE (offset 58) > ELEPHANT::SPEC : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)) > ELEPHANT::ARGS : NIL > ELEPHANT::CONTROLLER : # > > Binding frame: > *STORE-CONTROLLER* : NIL > > Call to DO-BACKEND-TESTS (offset 106) > SPEC : (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)) > *STORE-CONTROLLER* : NIL > > Call to SYSTEM::%INVOKE (offset 400) > > Call to SYSTEM::%EVAL (offset 217) > EXP : (DO-BACKEND-TESTS (QUOTE (:CLSQL (:POSTGRESQL NIL > "elephant" NIL NIL)))) > > > SYSTEM::%EVAL <- EVAL <- SYSTEM::DO-EVALUATION > <- SYSTEM::%TOP-LEVEL-INTERNAL <- SYSTEM::%TOP-LEVEL > <- SYSTEM::LISTENER-TOP-LEVEL <- CAPI::CAPI-TOP-LEVEL-FUNCTION > <- CAPI::INTERACTIVE-PANE-TOP-LOOP > <- (HARLEQUIN-COMMON-LISP:SUBFUNCTION MP::PROCESS-SG-FUNCTION > MP::INITIALIZE-PROCESS-STACK) > <- SYSTEM::%%FIRST-CALL-TO-STACK > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From edi at agharta.de Fri Mar 23 12:47:13 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 13:47:13 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> (Ian Eslick's message of "Fri, 23 Mar 2007 07:30:38 -0400") References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Message-ID: On Fri, 23 Mar 2007 07:30:38 -0400, Ian Eslick wrote: > I believe you can download a pre-built BDB Windows DLL distribution > from Oracle. Yeah, I had that installed, but I wasn't aware that I could expect an automatic build because I originally saw lots of errors flying by. I tried to track that down now and the problem was that you're using "/C" for the C: drive in Cygwin. I had to create this mount point manually, AFAIK this is not the default in Cygwin. I'd propose to use "/cygdrive/c" instead to be on the safe side - this mount point should always exist. > The rest of the libraries should be built automatically using cygwin > during the ASDF loads of elephant and ele-bdb if you select the > :cygwin compiler option and provide paths to the BDB distribution. > We've verified both Allegro 8 and Lispworks 5 using this > configuration and the downloaded BDB. Doesn't work for me. The compilation attempt breaks like this: edi at Groucho:~/lisp/elephant/src/db-bdb$ gcc -L'/C/Program Files/Oracle/Berkeley DB 4.5.20/bin/' -I'/C/Program Files/Oracle/Berkeley DB 4.5.20/include/' -ldb45 -mno-cygwin -mwindows -Wall -c -std=c99 "c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c" In file included from c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c:165: /C/Program Files/Oracle/Berkeley DB 4.5.20/include/db.h:99: error: conflicting types for 'ssize_t' /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/sys/types.h:104: error: previous declaration of 'ssize_t' was here c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c: In function `case_cmp': c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c:1236: warning: implicit declaration of function `_strnicmp' This is on Windows XP pro SP2 with BerkeleyDB 4.5.20 and LWW 5.0.1, Cygwin updated from the Internet half an hour ago. BTW, I'd suggest to use another LispWorks command for the compilation steps, so the user can actually see error messages like this one - patch attached. Cheers, Edi. -------------- next part -------------- A non-text attachment was scrubbed... Name: elephant.diff Type: text/x-patch Size: 2071 bytes Desc: not available URL: From edi at agharta.de Fri Mar 23 13:09:38 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 14:09:38 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> (Ian Eslick's message of "Fri, 23 Mar 2007 07:30:38 -0400") References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Message-ID: On Fri, 23 Mar 2007 07:30:38 -0400, Ian Eslick wrote: > The SQLite problem is a known one. There is some initialization > problem that causes this error - however it is only when creating > the DB. Once you've created it, and restart the tests, it should > work. I haven't had the time to track this down and Robert has been > busy. I looked at this a bit and I believe this happens because you establish two different connections to the database and mix calls to SELECT between those two. From eslick at csail.mit.edu Fri Mar 23 13:19:49 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 09:19:49 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Message-ID: <106B89B2-02C2-415F-B936-1352E78A4CF9@csail.mit.edu> Ah yes, there's a problem with db.h and mingw that we need to document in the INSTALL instructions. I'm not sure if there is a tasteful way around this, but sys/types.h defines ssize_t differently than db.h, so they appear to be incompatible. Frank Schorr had this solution, but it isn't ideal: At first, there was this error: In file included from libberkeley-db.c:165: /c/Programme/Oracle/Berkeley DB 4.5.20/include/db.h:99: error: conflicting types for 'ssize_t' /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/ include/sys/types .h:104: error: previous declaration of 'ssize_t' was here I commented these lines out in C:\cygwin\usr\include\mingw\sys\types.h: /* *#ifndef _SSIZE_T_ *#define _SSIZE_T_ *typedef long _ssize_t; * *#ifndef _NO_OLDNAMES *typedef _ssize_t ssize_t; *#endif *#endif * Not _SSIZE_T_ * */ apparently this this did not cooperate with #ifdef _WIN64 typedef int64_t ssize_t; #else typedef int32_t ssize_t; #endif in db.h. After that he had a working build. Any ideas for a better solution on your end? I have to admit to an extreme dislike of cygwin after a nasty summer in it's company some years back. Ian On Mar 23, 2007, at 8:47 AM, Edi Weitz wrote: > On Fri, 23 Mar 2007 07:30:38 -0400, Ian Eslick > wrote: > >> I believe you can download a pre-built BDB Windows DLL distribution >> from Oracle. > > Yeah, I had that installed, but I wasn't aware that I could expect an > automatic build because I originally saw lots of errors flying by. I > tried to track that down now and the problem was that you're using > "/C" for the C: drive in Cygwin. I had to create this mount point > manually, AFAIK this is not the default in Cygwin. I'd propose to use > "/cygdrive/c" instead to be on the safe side - this mount point should > always exist. > >> The rest of the libraries should be built automatically using cygwin >> during the ASDF loads of elephant and ele-bdb if you select the >> :cygwin compiler option and provide paths to the BDB distribution. >> We've verified both Allegro 8 and Lispworks 5 using this >> configuration and the downloaded BDB. > > Doesn't work for me. The compilation attempt breaks like this: > > edi at Groucho:~/lisp/elephant/src/db-bdb$ gcc -L'/C/Program Files/ > Oracle/Berkeley DB 4.5.20/bin/' -I'/C/Program Files/Oracle/Berkeley > DB 4.5.20/include/' -ldb45 -mno-cygwin -mwindows -Wall -c -std=c99 > "c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c" > In file included from c:\home\lisp\elephant\src\db-bdb > \libberkeley-db.c:165: > /C/Program Files/Oracle/Berkeley DB 4.5.20/include/db.h:99: > error: conflicting types for 'ssize_t' > /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/ > include/sys/types.h:104: error: previous declaration of 'ssize_t' > was here > c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c: In function > `case_cmp': > c:\home\lisp\elephant\src\db-bdb\libberkeley-db.c:1236: warning: > implicit declaration of function `_strnicmp' > > This is on Windows XP pro SP2 with BerkeleyDB 4.5.20 and LWW 5.0.1, > Cygwin updated from the Internet half an hour ago. > > BTW, I'd suggest to use another LispWorks command for the compilation > steps, so the user can actually see error messages like this one - > patch attached. > > Cheers, > Edi. > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From read at robertlread.net Fri Mar 23 13:32:23 2007 From: read at robertlread.net (Robert L. Read) Date: Fri, 23 Mar 2007 08:32:23 -0500 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: Message-ID: <1174656743.7626.309.camel@localhost.localdomain> On Fri, 2007-03-23 at 10:28 +0100, Edi Weitz wrote: > (DO-BACKEND-TESTS (QUOTE (:CLSQL (:POSTGRESQL NIL "elephant" NIL > NIL)))) > This doesn't look like a good connect string to me. This may be an example where better documentation would help us. The best documentation on this right now is Ian's "INSTALL" file, which I condense here: if you are using CL-SQL, type: (asdf:operate 'asdf:load-op :ele-clsql) (asdf:operate 'asdf:load-op :elephant-tests) (in-package :ele-tests) (setf *default-spec* *testpg-spec*) Of course you don't have to use the default *testpg-spc*, which will change when building an application, but it is probably the best way to test. Create a postgres database schema accessible by user "postgres" named "test". Normally you just do this with: create_db test (I do this logged in as the Linux user "postgres", the user that is create specifically to run the "postmaster".) Make sure user "postgres" can reach it by connecting with the psql command-lin interpreter: psql -h 127.0.0.1 -U postgres test Then a "spec" that looks like this should work: '(:CLSQL (:POSTGRESQL "localhost.localdomain" "test" "postgres" "")) Let me know if that makes a difference! -------------- next part -------------- An HTML attachment was scrubbed... URL: From edi at agharta.de Fri Mar 23 13:46:46 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 14:46:46 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <1174656743.7626.309.camel@localhost.localdomain> (Robert L. Read's message of "Fri, 23 Mar 2007 08:32:23 -0500") References: <1174656743.7626.309.camel@localhost.localdomain> Message-ID: On Fri, 23 Mar 2007 08:32:23 -0500, "Robert L. Read" wrote: > On Fri, 2007-03-23 at 10:28 +0100, Edi Weitz wrote: > >> (DO-BACKEND-TESTS (QUOTE (:CLSQL (:POSTGRESQL NIL "elephant" NIL NIL)))) > > This doesn't look like a good connect string to me. It's a connection spec accepted by CLSQL, so I thought it'd be OK for Elephant as well: CL-USER 1 > (clsql:connect '(nil "elephant" nil nil) :database-type :postgresql) # > (I do this logged in as the Linux user "postgres", the user that is > create specifically to run the "postmaster".) This account doesn't exist on a Windows installation of PostgreSQL. > Then a "spec" that looks like this should work: > > '(:CLSQL (:POSTGRESQL "localhost.localdomain" "test" "postgres" "")) > > Let me know if that makes a difference! This variant works for me: (do-backend-tests '(:clsql (:postgresql "" "elephant" nil nil))) I now get these results: Doing 122 pending tests of 122 tests total. FIXNUMS FIXNUM-TYPE-1 READ-32-BIT-FIXNUM READ-64-BIT-FIXNUM WRITE-32-BIT-FIXNUM WRITE-64-BIT-FIXNUM BIGNUMS FLOATS RATIONALS BASE-STRINGS STRINGS HARD-STRINGS SYMBOLS CHARS PATHNAMES CONSES HASH-TABLES-1 HASH-TABLES-2 ARRAYS-1 ARRAYS-2 TEST-DEEP-EQUALP OBJECTS STRUCTS STRUCT-NON-STD-CONSTRUCT 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 UPDATE-CLASS CHANGE-CLASS CHANGE-CLASS3 BASICPERSISTENCE TESTOID BTREE-MAKE BTREE-PUT BTREE-GET REMOVE-KV REMOVED MAP-BTREE INDEXED-BTREE-MAKE ADD-INDICES TEST-INDICES INDEXED-PUT INDEXED-GET SIMPLE-SLOT-GET INDEXED-GET-FROM-SLOT1 INDEXED-GET-FROM-SLOT2 REMOVE-KV-INDEXED 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 Test MAP-INDEXED-INDEX failed Form: (LET ((SUM 0)) (FLET ((COLLECTOR (KEY VALUE PKEY) (INCF SUM (SLOT1 VALUE)))) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START NIL :END 10) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 990 :END NIL) (MAP-INDEX (FUNCTION COLLECTOR) INDEX1 :START 400 :END 410)) SUM) Expected value: 15449 Actual value: #. REM-KV REM-IDEXKV MAKE-INDEXED2 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 ADD-GET-REMOVE ADD-GET-REMOVE-SYMBOL EXISTSP Warning: Manually finalizing class IDX-ONE DISABLE-CLASS-INDEXING-TEST INDEXING-BASIC-TRIVIAL INDEXING-BASIC INDEXING-CLASS-OPT INDEXING-INHERIT INDEXING-RANGE INDEXING-SLOT-MAKUNBOUND Warning: Manually finalizing class IDX-FIVE-DEL INDEXING-WIPE-INDEX INDEXING-RECONNECT-DB INDEXING-CHANGE-CLASS INDEXING-REDEF-CLASS Warning: Manually finalizing class STRESS-INDEX Ranged get of 10/700 objects = Linear: 6.068 sec Indexed: 2.013 sec INDEXING-TIMING Single store mode: ignoring REMOVE-ELEMENT Single store mode: ignoring MIGRATE-BASIC Single store mode: ignoring MIGRATE-BTREE Single store mode: ignoring MIGRATE-IDX-BTREE Single store mode: ignoring MIGRATE-PCLASS Single store mode: ignoring MIGRATE-MULT-PCLASS Single store mode: ignoring MIGRATE-IPCLASS 1 out of 122 total tests failed: MAP-INDEXED-INDEX. Cheers, Edi. From edi at agharta.de Fri Mar 23 13:58:14 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 14:58:14 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <106B89B2-02C2-415F-B936-1352E78A4CF9@csail.mit.edu> (Ian Eslick's message of "Fri, 23 Mar 2007 09:19:49 -0400") References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> <106B89B2-02C2-415F-B936-1352E78A4CF9@csail.mit.edu> Message-ID: On Fri, 23 Mar 2007 09:19:49 -0400, Ian Eslick wrote: > Any ideas for a better solution on your end? I have to admit to an > extreme dislike of cygwin after a nasty summer in it's company some > years back. I think you can't really blame Cygwin in this case because Elephant uses the native BerkeleyDB Windows library although a Cygwin version is available: http://www.oracle.com/technology/documentation/berkeley-db/db/ref/build_win/intro.html It'd probably be better to change the build process and use that one, but I haven't tried. The downside might be that you can't use the resulting DLL in a non-Cygwin environment anymore. My preferred solution would be to distribute Cygwin-independent pre-compiled DLLs (maybe generated with Visual Studio) for memutil and db-bdb like CLSQL does it. Experience shows that "automatic" command line builds of C programs on Windows almost never work and Windows users are neither prepared nor willing do dig into this stuff. From eslick at csail.mit.edu Fri Mar 23 14:11:58 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 10:11:58 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> <106B89B2-02C2-415F-B936-1352E78A4CF9@csail.mit.edu> Message-ID: <80E01A0E-2912-46B0-8C2A-41A027E7EA47@csail.mit.edu> I think the cygwin version is slow to update their versions and for various reasons we tend to depend on the latest release (4.5 in this case). Your point on windows builds is well taken. Here is a possible approach: By default, we distribute DLLs with major releases and major development checkpoints. There is a configuration option to inhibit compilation. If people want to track the development tree, they'll have to enable this switch and then dig into why it doesn't work. The current DLLs shouldn't depend on cygwin (--no-cygwin --mingw32). However they'll only work on 32-bit Windows. Does cygwin do cross-compilation for 64-bit windows? Ian On Mar 23, 2007, at 9:58 AM, Edi Weitz wrote: > On Fri, 23 Mar 2007 09:19:49 -0400, Ian Eslick > wrote: > >> Any ideas for a better solution on your end? I have to admit to an >> extreme dislike of cygwin after a nasty summer in it's company some >> years back. > > I think you can't really blame Cygwin in this case because Elephant > uses the native BerkeleyDB Windows library although a Cygwin version > is available: > > http://www.oracle.com/technology/documentation/berkeley-db/db/ref/ > build_win/intro.html > > It'd probably be better to change the build process and use that one, > but I haven't tried. The downside might be that you can't use the > resulting DLL in a non-Cygwin environment anymore. > > My preferred solution would be to distribute Cygwin-independent > pre-compiled DLLs (maybe generated with Visual Studio) for memutil and > db-bdb like CLSQL does it. Experience shows that "automatic" command > line builds of C programs on Windows almost never work and Windows > users are neither prepared nor willing do dig into this stuff. > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From edi at agharta.de Fri Mar 23 14:22:04 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 23 Mar 2007 15:22:04 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <80E01A0E-2912-46B0-8C2A-41A027E7EA47@csail.mit.edu> (Ian Eslick's message of "Fri, 23 Mar 2007 10:11:58 -0400") References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> <106B89B2-02C2-415F-B936-1352E78A4CF9@csail.mit.edu> <80E01A0E-2912-46B0-8C2A-41A027E7EA47@csail.mit.edu> Message-ID: On Fri, 23 Mar 2007 10:11:58 -0400, Ian Eslick wrote: > I think the cygwin version is slow to update their versions and for > various reasons we tend to depend on the latest release (4.5 in this > case). Really? I thought that BerkeleyDB was always distributed as a whole with all versions in one package. The "build_unix" directory was in the directory installed by the binary Windows (.msi) distribution and I could build a Cygwin DLL from there without problems. But, as I said, I'd prefer a "native" DLL over a Cygwin one. (I understand that you're building your own libs with "--no-cygwin" and "--mingw32" but that wouldn't be the case for the BerkeleyDB DLL then.) > Your point on windows builds is well taken. Here is a possible > approach: > > By default, we distribute DLLs with major releases and major > development checkpoints. There is a configuration option to inhibit > compilation. If people want to track the development tree, they'll > have to enable this switch and then dig into why it doesn't work. > The current DLLs shouldn't depend on cygwin (--no-cygwin --mingw32). > However they'll only work on 32-bit Windows. Sounds very good to me! > Does cygwin do cross-compilation for 64-bit windows? Ugh, I don't know... From franks-muc at web.de Fri Mar 23 16:02:40 2007 From: franks-muc at web.de (Frank Schorr) Date: Fri, 23 Mar 2007 17:02:40 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle Message-ID: <462757923@web.de> My understanding is that cygwin is *only* used for making the dll. For this purpose asdf excutes these cygwin commands: gcc -mno-cygwin -mwindows -c -Wall -std=c99 -L/c/Programme/Oracle/Berkeley\ DB\ 4.5.20/lib/ -I/c/Programme/Oracle/Berkeley\ DB\ 4.5.20/include/ libberkeley-db.c dlltool -z libberkeley-db.def --export-all-symbols -e exports.o -l libberkeley-db.lib libberkeley-db.o gcc -shared -mno-cygwin -mwindows -L/c/Programme/Oracle/Berkeley\ DB\ 4.5.20/bin/ -llibdb45 libberkeley-db.o exports.o -o libberkeley-db.dll With these settings in config.sexp #+(or mswindows windows) ((:berkeley-db-include-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/include/") (:berkeley-db-lib-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/") (:berkeley-db-lib . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/libdb45.dll") (:berkeley-db-deadlock . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/db_deadlock.exe") (:pthread-lib . nil) (:clsql-lib . nil) (:compiler . :cygwin)) the bdb dll installed from the .msi file is used, which is libdb45.dll. The install instructions could look like this: 1. install bdb for windows (.msi) 2. modify adapt the bdb directories in config.sexp 3. install cygwin including mingw 4. mount C: as /c/ 5. comment these lines out in C:\cygwin\usr\include\mingw\sys\types.h: /* *#ifndef _SSIZE_T_ *#define _SSIZE_T_ *typedef long _ssize_t; * *#ifndef _NO_OLDNAMES *typedef _ssize_t ssize_t; *#endif *#endif * Not _SSIZE_T_ * */ 6. load ele-bdb with asdf Ian: the bdb directories seem to be hardcoded then. I mean if I transfer an executable to another computer where bdb is installed at a different place, it will not work? Frank > -----Urspr?ngliche Nachricht----- > Von: Elephant bugs and development > Gesendet: 23.03.07 15:23:10 > An: Elephant bugs and development > Betreff: Re: [elephant-devel] Start of 0.6.1 Beta Cycle > On Fri, 23 Mar 2007 10:11:58 -0400, Ian Eslick wrote: > > > I think the cygwin version is slow to update their versions and for > > various reasons we tend to depend on the latest release (4.5 in this > > case). > > Really? I thought that BerkeleyDB was always distributed as a whole > with all versions in one package. The "build_unix" directory was in > the directory installed by the binary Windows (.msi) distribution and > I could build a Cygwin DLL from there without problems. > > But, as I said, I'd prefer a "native" DLL over a Cygwin one. (I > understand that you're building your own libs with "--no-cygwin" and > "--mingw32" but that wouldn't be the case for the BerkeleyDB DLL > then.) > > > Your point on windows builds is well taken. Here is a possible > > approach: > > > > By default, we distribute DLLs with major releases and major > > development checkpoints. There is a configuration option to inhibit > > compilation. If people want to track the development tree, they'll > > have to enable this switch and then dig into why it doesn't work. > > The current DLLs shouldn't depend on cygwin (--no-cygwin --mingw32). > > However they'll only work on 32-bit Windows. > > Sounds very good to me! > > > Does cygwin do cross-compilation for 64-bit windows? > > Ugh, I don't know... > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel > _______________________________________________________________ SMS schreiben mit WEB.DE FreeMail - einfach, schnell und kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192 From eslick at csail.mit.edu Fri Mar 23 16:07:14 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 12:07:14 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Message-ID: <048A30A2-B70C-4AE8-B865-46284625A0DD@csail.mit.edu> I've checked in a fix for this that I verified under Allegro / Mac. Ian On Mar 23, 2007, at 9:09 AM, Edi Weitz wrote: > On Fri, 23 Mar 2007 07:30:38 -0400, Ian Eslick > wrote: > >> The SQLite problem is a known one. There is some initialization >> problem that causes this error - however it is only when creating >> the DB. Once you've created it, and restart the tests, it should >> work. I haven't had the time to track this down and Robert has been >> busy. > > I looked at this a bit and I believe this happens because you > establish two different connections to the database and mix calls to > SELECT between those two. > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Fri Mar 23 16:14:33 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 12:14:33 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <462757923@web.de> References: <462757923@web.de> Message-ID: <52D3FA6F-EA5F-452B-BB09-89639913FDF6@csail.mit.edu> config.sexp is only a reference file. You copy this to my- config.sexp and then edit the paths to be the appropriate ones for your system. What is hardcoded is the conversion from Windows paths to cygwin paths. I've made the edit that Edi suggested which is to use / cygdrive// instead of // as in your installation. It should work and be more compatible. Or have I missed something that is hardcoded (there is some hardcoding in ele-clsql.asd that I need to make configuration options. Ian On Mar 23, 2007, at 12:02 PM, Frank Schorr wrote: > > My understanding is that cygwin is *only* used for making the dll. > For this purpose asdf excutes these cygwin commands: > > gcc -mno-cygwin -mwindows -c -Wall -std=c99 -L/c/Programme/Oracle/ > Berkeley\ DB\ 4.5.20/lib/ -I/c/Programme/Oracle/Berkeley\ DB\ > 4.5.20/include/ libberkeley-db.c > dlltool -z libberkeley-db.def --export-all-symbols -e exports.o -l > libberkeley-db.lib libberkeley-db.o > gcc -shared -mno-cygwin -mwindows -L/c/Programme/Oracle/Berkeley\ DB > \ 4.5.20/bin/ -llibdb45 libberkeley-db.o exports.o -o libberkeley- > db.dll > > > With these settings in config.sexp > > #+(or mswindows windows) > ((:berkeley-db-include-dir . "C:/Programme/Oracle/Berkeley DB > 4.5.20/include/") > (:berkeley-db-lib-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/ > bin/") > (:berkeley-db-lib . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/ > libdb45.dll") > (:berkeley-db-deadlock . "C:/Programme/Oracle/Berkeley DB 4.5.20/ > bin/db_deadlock.exe") > (:pthread-lib . nil) > (:clsql-lib . nil) > (:compiler . :cygwin)) > > the bdb dll installed > from the .msi file is used, which is libdb45.dll. > > The install instructions could look like this: > > 1. install bdb for windows (.msi) > 2. modify adapt the bdb directories in config.sexp > 3. install cygwin including mingw > 4. mount C: as /c/ > 5. comment these lines out in C:\cygwin\usr\include\mingw\sys\types.h: > /* > *#ifndef _SSIZE_T_ > *#define _SSIZE_T_ > *typedef long _ssize_t; > * > *#ifndef _NO_OLDNAMES > *typedef _ssize_t ssize_t; > *#endif > *#endif * Not _SSIZE_T_ * > */ > > 6. load ele-bdb with asdf > > Ian: > > the bdb directories seem to be hardcoded then. I mean if I transfer > an executable to another computer where bdb is installed at a > different place, > it will not work? > > Frank > >> -----Urspr?ngliche Nachricht----- >> Von: Elephant bugs and development >> Gesendet: 23.03.07 15:23:10 >> An: Elephant bugs and development >> Betreff: Re: [elephant-devel] Start of 0.6.1 Beta Cycle > > >> On Fri, 23 Mar 2007 10:11:58 -0400, Ian Eslick >> wrote: >> >>> I think the cygwin version is slow to update their versions and for >>> various reasons we tend to depend on the latest release (4.5 in this >>> case). >> >> Really? I thought that BerkeleyDB was always distributed as a whole >> with all versions in one package. The "build_unix" directory was in >> the directory installed by the binary Windows (.msi) distribution and >> I could build a Cygwin DLL from there without problems. >> >> But, as I said, I'd prefer a "native" DLL over a Cygwin one. (I >> understand that you're building your own libs with "--no-cygwin" and >> "--mingw32" but that wouldn't be the case for the BerkeleyDB DLL >> then.) >> >>> Your point on windows builds is well taken. Here is a possible >>> approach: >>> >>> By default, we distribute DLLs with major releases and major >>> development checkpoints. There is a configuration option to inhibit >>> compilation. If people want to track the development tree, they'll >>> have to enable this switch and then dig into why it doesn't work. >>> The current DLLs shouldn't depend on cygwin (--no-cygwin --mingw32). >>> However they'll only work on 32-bit Windows. >> >> Sounds very good to me! >> >>> Does cygwin do cross-compilation for 64-bit windows? >> >> Ugh, I don't know... >> _______________________________________________ >> elephant-devel site list >> elephant-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/elephant-devel >> > > > _______________________________________________________________ > SMS schreiben mit WEB.DE FreeMail - einfach, schnell und > kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192 > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Fri Mar 23 16:33:08 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 23 Mar 2007 12:33:08 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> References: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> Message-ID: <0DBBF778-CB6D-4721-983D-A2FE6B64E288@csail.mit.edu> I think I've fixed this. There was some legacy code with some hardcoded paths in ele-clsql that never effected me but appears to serve no purpose. I commented it out, but if it causes some other system to fail then we'll have to look at it more closely. Ian On Mar 23, 2007, at 2:45 AM, Pierre THIERRY wrote: > Scribit Ian Eslick dies 21/03/2007 hora 11:42: >> We have tagged CVS with the tag ELEPHANT-0-6-1-BETA. > > With: > - Debian GNU/Linux 2.6.18 amd64 > - SBCL 1.0.0.0 > - SQLite3 backend > > 3 of 122 tests failed: > - MIGRATE-BASIC > - MIGRATE-IDX-BTREE > - MIGRATE-IPCLASS > > I still have difficulties loading CL-SQL, except if I asdf-load the > system myself before Elephant. I never took time to look at this > part of > the code, but maybe some hand-loading of CL-SQL happens in Elephant > that > could be replaced by calls to ASDF... > > Quickly, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From nowhere.man at levallois.eu.org Sat Mar 24 04:52:35 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sat, 24 Mar 2007 05:52:35 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <0DBBF778-CB6D-4721-983D-A2FE6B64E288@csail.mit.edu> References: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> <0DBBF778-CB6D-4721-983D-A2FE6B64E288@csail.mit.edu> Message-ID: <20070324045235.GO5640@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 23/03/2007 hora 12:33: > I think I've fixed this. I tested again with latest HEAD, and end up with this for SQLite: 2 out of 122 total tests failed: MIGRATE-BASIC, MIGRATE-IPCLASS. WARNING: Unable to clear class index caches Object's store controller was lost BDB still gets stuck at: Migrating class indexes for: IDX-UNBOUND-DEL I tried running db4.5_deadlock in both testdb and testdb2 without any change to the SBCL process, which is showed in ps as in "Interruptible sleep (waiting for an event to complete)", as it was previously. Interrupting it at this moment in SLIME, I end up with this: 3 out of 126 total tests failed: MIGRATE-BASIC, MIGRATE-MULT-PCLASS, MIGRATE-IPCLASS. Nightly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From nowhere.man at levallois.eu.org Sat Mar 24 04:59:09 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sat, 24 Mar 2007 05:59:09 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <20070324045235.GO5640@bateleur.arcanes.fr.eu.org> References: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> <0DBBF778-CB6D-4721-983D-A2FE6B64E288@csail.mit.edu> <20070324045235.GO5640@bateleur.arcanes.fr.eu.org> Message-ID: <20070324045909.GP5640@bateleur.arcanes.fr.eu.org> Scribit Pierre THIERRY dies 24/03/2007 hora 05:52: > BDB still gets stuck at: > > Migrating class indexes for: IDX-UNBOUND-DEL I tried again, after running delscript.sh and setting rt::*catch-errors* to nil, and got in the debugger with that: ------------------------------------------------------------------------ unknown &KEY argument: :STORE-CONTROLLER [Condition of type SB-INT:SIMPLE-PROGRAM-ERROR] Restarts: 0: [ABORT-REQUEST] Abort handling SLIME request. 1: [TERMINATE-THREAD] Terminate this thread (#) Backtrace: 0: (ADD-TO-ROOT "x" "y" :STORE-CONTROLLER #) 1: (NIL) 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET* ((*STORE-CONTROLLER*) (SC1 #) (SC2 #)) (UNWIND-PROTECT (PROGN # # # #) (CLOSE-STORE SC1) (CLOSE-STORE SC2))) #) 3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (IF (OR (NOT #) (NULL *TEST-SPEC-SECONDARY*)) (PROGN (FORMAT T "~%Single store mode: ignoring") T) (LET* (# # #) (UNWIND-PROTECT # # #))) #) 4: ((FLET REGRESSION-TEST::%DO)) 5: (REGRESSION-TEST::DO-ENTRY #S(REGRESSION-TEST::ENTRY :PEND T :NAME MIGRATE-BASIC :PROPS NIL :FORM (IF (OR # #) (PROGN # T) (LET* # #)) :VALS (T)) #) 6: (REGRESSION-TEST::DO-ENTRIES* #) 7: (REGRESSION-TEST::DO-ENTRIES #) 8: (DO-BACKEND-TESTS (:BDB "/home/pierre/Lisp/Elephant/elephant-CVS/tests/testdb/")) 9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DO-BACKEND-TESTS) #) 10: (SWANK::EVAL-REGION "(do-backend-tests) ------------------------------------------------------------------------ Didn't take to look at the code, though, as it's pretty late now. Or early, so it's seriously time I go to bed! ;-) Nightly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Sat Mar 24 10:45:52 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sat, 24 Mar 2007 06:45:52 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <20070324045909.GP5640@bateleur.arcanes.fr.eu.org> References: <20070323064523.GI5640@bateleur.arcanes.fr.eu.org> <0DBBF778-CB6D-4721-983D-A2FE6B64E288@csail.mit.edu> <20070324045235.GO5640@bateleur.arcanes.fr.eu.org> <20070324045909.GP5640@bateleur.arcanes.fr.eu.org> Message-ID: <31522439-F3F8-400A-823F-7CB8451E73AE@csail.mit.edu> My bad - I just promoted a change that led to this. Will be fixed shortly. Ian On Mar 24, 2007, at 12:59 AM, Pierre THIERRY wrote: > Scribit Pierre THIERRY dies 24/03/2007 hora 05:52: >> BDB still gets stuck at: >> >> Migrating class indexes for: IDX-UNBOUND-DEL > > I tried again, after running delscript.sh and setting rt::*catch- > errors* > to nil, and got in the debugger with that: > > ---------------------------------------------------------------------- > -- > unknown &KEY argument: :STORE-CONTROLLER > [Condition of type SB-INT:SIMPLE-PROGRAM-ERROR] > > Restarts: > 0: [ABORT-REQUEST] Abort handling SLIME request. > 1: [TERMINATE-THREAD] Terminate this thread (# thread" {1002CCC731}>) > > Backtrace: > 0: (ADD-TO-ROOT "x" "y" :STORE-CONTROLLER # CONTROLLER {1003105D81}>) > 1: (NIL) > 2: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LET* ((*STORE-CONTROLLER*) (SC1 > #) (SC2 #)) (UNWIND-PROTECT (PROGN # # # #) (CLOSE-STORE SC1) > (CLOSE-STORE SC2))) #) > 3: (SB-INT:SIMPLE-EVAL-IN-LEXENV (IF (OR (NOT #) (NULL *TEST-SPEC- > SECONDARY*)) (PROGN (FORMAT T "~%Single store mode: ignoring") T) > (LET* (# # #) (UNWIND-PROTECT # # #))) #) > 4: ((FLET REGRESSION-TEST::%DO)) > 5: (REGRESSION-TEST::DO-ENTRY #S(REGRESSION-TEST::ENTRY :PEND > T :NAME MIGRATE-BASIC :PROPS NIL :FORM (IF (OR # #) (PROGN # T) > (LET* # #)) :VALS (T)) # {1002BD8681}>) > 6: (REGRESSION-TEST::DO-ENTRIES* # STREAM {1002BD8681}>) > 7: (REGRESSION-TEST::DO-ENTRIES # STREAM {1002BD8681}>) > 8: (DO-BACKEND-TESTS (:BDB "/home/pierre/Lisp/Elephant/elephant- > CVS/tests/testdb/")) > 9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (DO-BACKEND-TESTS) #) > 10: (SWANK::EVAL-REGION "(do-backend-tests) > ---------------------------------------------------------------------- > -- > > Didn't take to look at the code, though, as it's pretty late now. Or > early, so it's seriously time I go to bed! ;-) > > Nightly, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From edi at agharta.de Sat Mar 24 15:27:03 2007 From: edi at agharta.de (Edi Weitz) Date: Sat, 24 Mar 2007 16:27:03 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <52D3FA6F-EA5F-452B-BB09-89639913FDF6@csail.mit.edu> (Ian Eslick's message of "Fri, 23 Mar 2007 12:14:33 -0400") References: <462757923@web.de> <52D3FA6F-EA5F-452B-BB09-89639913FDF6@csail.mit.edu> Message-ID: On Fri, 23 Mar 2007 12:14:33 -0400, Ian Eslick wrote: > config.sexp is only a reference file. You copy this to my- > config.sexp and then edit the paths to be the appropriate ones for > your system. In the long run you should try to get rid of absolute pathnames at all (or use them only for building) and trust the OS to find external programs and shared libraries from the filename sans directories. Otherwise it will be very hard or almost impossible to deliver executables with Elephant using Lisps like LispWorks or AllegroCL. If you're interested, you'll find a long discussion of these topics and a way to cope with them in the CLSQL mailing list archive, around mid-2005 IIRC. The thread, which lasted several months, was called something like "How CLSQL finds and loads foreign libraries." From edi at agharta.de Sat Mar 24 15:32:33 2007 From: edi at agharta.de (Edi Weitz) Date: Sat, 24 Mar 2007 16:32:33 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <462757923@web.de> (Frank Schorr's message of "Fri, 23 Mar 2007 17:02:40 +0100") References: <462757923@web.de> Message-ID: On Fri, 23 Mar 2007 17:02:40 +0100, Frank Schorr wrote: > ((:berkeley-db-include-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/include/") > (:berkeley-db-lib-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/") > (:berkeley-db-lib . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/libdb45.dll") > (:berkeley-db-deadlock . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/db_deadlock.exe") As I said, this will only work with a German version of Windows. I think the example config file distributed with Elephant should use the English variant and maybe include a comment that users of localized versions will have to change the paths. (Other than that this is the default install location chosen by Oracle's installer.) > 5. comment these lines out in C:\cygwin\usr\include\mingw\sys\types.h: > /* > *#ifndef _SSIZE_T_ > *#define _SSIZE_T_ > *typedef long _ssize_t; > * > *#ifndef _NO_OLDNAMES > *typedef _ssize_t ssize_t; > *#endif > *#endif * Not _SSIZE_T_ * > */ I understand that this is necessary, but I think it means asking a bit too much from Joe Average. It implies that after building Elephant you can't reliably use Cygwin for other tasks anymore. (Or alternatively you change this back and forth each time you want to build Elephant which also doesn't sound very satisfactory.) From eslick at csail.mit.edu Sat Mar 24 15:47:55 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sat, 24 Mar 2007 11:47:55 -0400 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <462757923@web.de> Message-ID: <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> Frank/Edi, I think the solution for Joe Average is as Edi suggested earlier, we'll bundle Win32 DLLs with each release and people who want to track the development tree or use 64-bit Windows will, for now, have to solve the issues related to building images. As soon as we're done with 0.6.1, we're going to move to Darcs and we'll have two repositories. A stable development repository with bundled DLLs, an unstable development without valid DLLs and an asdf- installable tar file with the latest formal release. I apologize for the mess the Windows support is in just now, Windows has not been a priority for me and it is not likely to become so. Most of my non-priority time was allocated to getting Lispworks to work cleanly. Elephant would benefit greatly from a Windows user who was motivated to clean things up properly and I'm happy to provide support for this. Ian On Mar 24, 2007, at 11:32 AM, Edi Weitz wrote: > On Fri, 23 Mar 2007 17:02:40 +0100, Frank Schorr muc at web.de> wrote: > >> ((:berkeley-db-include-dir . "C:/Programme/Oracle/Berkeley DB >> 4.5.20/include/") >> (:berkeley-db-lib-dir . "C:/Programme/Oracle/Berkeley DB 4.5.20/ >> bin/") >> (:berkeley-db-lib . "C:/Programme/Oracle/Berkeley DB 4.5.20/bin/ >> libdb45.dll") >> (:berkeley-db-deadlock . "C:/Programme/Oracle/Berkeley DB 4.5.20/ >> bin/db_deadlock.exe") > > As I said, this will only work with a German version of Windows. I > think the example config file distributed with Elephant should use the > English variant and maybe include a comment that users of localized > versions will have to change the paths. (Other than that this is the > default install location chosen by Oracle's installer.) > >> 5. comment these lines out in C:\cygwin\usr\include\mingw\sys >> \types.h: >> /* >> *#ifndef _SSIZE_T_ >> *#define _SSIZE_T_ >> *typedef long _ssize_t; >> * >> *#ifndef _NO_OLDNAMES >> *typedef _ssize_t ssize_t; >> *#endif >> *#endif * Not _SSIZE_T_ * >> */ > > I understand that this is necessary, but I think it means asking a bit > too much from Joe Average. It implies that after building Elephant > you can't reliably use Cygwin for other tasks anymore. (Or > alternatively you change this back and forth each time you want to > build Elephant which also doesn't sound very satisfactory.) > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From edi at agharta.de Sat Mar 24 15:58:01 2007 From: edi at agharta.de (Edi Weitz) Date: Sat, 24 Mar 2007 16:58:01 +0100 Subject: [elephant-devel] Documentation / Backends Message-ID: Two more things: 1. Analogous to distributing pre-compiled DLLs with Elephant I'd also recommend to include pre-built HTML and/or PDF documentation (again, like CLSQL does). Windows users usually won't have the tools installed to build the docs, and even on Linux it didn't really work for me, because a) the Lisp "lisp" (which on my machine is CMUCL) is hard-coded into the Makefile, and b) make-ref.lisp uses REQUIRE to load Elephant. 2. Is there a description somewhere on how to create a new backend for Elephant? (Like, which functions have to be provided and to integrate it.) Thanks, Edi. From edi at agharta.de Sat Mar 24 16:03:41 2007 From: edi at agharta.de (Edi Weitz) Date: Sat, 24 Mar 2007 17:03:41 +0100 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> (Ian Eslick's message of "Sat, 24 Mar 2007 11:47:55 -0400") References: <462757923@web.de> <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> Message-ID: On Sat, 24 Mar 2007 11:47:55 -0400, Ian Eslick wrote: > I think the solution for Joe Average is as Edi suggested earlier, > we'll bundle Win32 DLLs with each release and people who want to > track the development tree or use 64-bit Windows will, for now, have > to solve the issues related to building images. Fine with me. > I apologize for the mess the Windows support is in just now, Windows > has not been a priority for me and it is not likely to become so. > Most of my non-priority time was allocated to getting Lispworks to > work cleanly. > > Elephant would benefit greatly from a Windows user who was motivated > to clean things up properly and I'm happy to provide support for > this. I could try to allocate some time for this although I can't promise anything. I won't be able to work with the Darcs repository, though. I've spent some quality time a few months ago to get it to work with Windows and didn't succeed and I won't do it again. I have better things to do in my spare time. If you're able to provide tarballs like ViewCVS does, that won't be a problem, though. From eslick at csail.mit.edu Sat Mar 24 16:19:50 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sat, 24 Mar 2007 12:19:50 -0400 Subject: [elephant-devel] Documentation / Backends In-Reply-To: References: Message-ID: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> There will be a whole section in the manual (which is being rewritten as we speak) on how to write (or at least understand) a backend for Elephant. I'm not sure this will be exhaustive, but should be a good guide to the landscape and make it much easier to get started. Henrik just finished writing a postgresql backend that didn't use CLSQL and without much guidance too, so there's a datapoint that you don't have to be an Elephant developer to do it. FYI - I've been hacking on the skeleton of an all-lisp backend, but would welcome collaboration or even taking a back seat if someone else was motivated to write one. Also, the new manual will be available online in texinfo-tree form, a single HTML file and in PDF. I'm happy to take your suggestion and supply a pre-build version of all these files in the distribution and source control. The lack of that has bugged me in the past as well. As part of the manual rewrite, I've been cleaning up the build process and when I'm done it should work if you have texinfo, tex and sbcl installed on your system. There is also a manual procedure to do this in other lisps that I will document in the Install section of the new manual. Ian On Mar 24, 2007, at 11:58 AM, Edi Weitz wrote: > Two more things: > > 1. Analogous to distributing pre-compiled DLLs with Elephant I'd also > recommend to include pre-built HTML and/or PDF documentation > (again, like CLSQL does). Windows users usually won't have the > tools installed to build the docs, and even on Linux it didn't > really work for me, because a) the Lisp "lisp" (which on my machine > is CMUCL) is hard-coded into the Makefile, and b) make-ref.lisp > uses REQUIRE to load Elephant. > > 2. Is there a description somewhere on how to create a new backend for > Elephant? (Like, which functions have to be provided and to > integrate it.) > > Thanks, > Edi. > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From edi at agharta.de Sat Mar 24 16:33:38 2007 From: edi at agharta.de (Edi Weitz) Date: Sat, 24 Mar 2007 17:33:38 +0100 Subject: [elephant-devel] Documentation / Backends In-Reply-To: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> (Ian Eslick's message of "Sat, 24 Mar 2007 12:19:50 -0400") References: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> Message-ID: On Sat, 24 Mar 2007 12:19:50 -0400, Ian Eslick wrote: > FYI - I've been hacking on the skeleton of an all-lisp backend, but > would welcome collaboration or even taking a back seat if someone > else was motivated to write one. I have vague plans for such a thing, but I have several plans for other projects as well, not to mention my commercial Lisp work, so don't hold your breath... :) > Also, the new manual will be available online in texinfo-tree form, > a single HTML file and in PDF. I'm happy to take your suggestion > and supply a pre-build version of all these files in the > distribution and source control. The lack of that has bugged me in > the past as well. As part of the manual rewrite, I've been cleaning > up the build process and when I'm done it should work if you have > texinfo, tex and sbcl installed on your system. There is also a > manual procedure to do this in other lisps that I will document in > the Install section of the new manual. Sounds good! From nowhere.man at levallois.eu.org Sun Mar 25 03:17:15 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sun, 25 Mar 2007 05:17:15 +0200 Subject: [elephant-devel] Documentation / Backends In-Reply-To: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> References: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> Message-ID: <20070325031715.GR5640@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 24/03/2007 hora 12:19: > Also, the new manual will be available online in texinfo-tree form, a > single HTML file and in PDF. I'm happy to take your suggestion and > supply a pre-build version of all these files in the distribution and > source control. FWIW, I think the less built files in the version control the better. Apart from bootstrapping purpose, they better be released separately, I'd say. Having them as separate tarballs or single files on the project's website is enough, I think. > There is also a manual procedure to do this in other lisps that I > will document in the Install section of the new manual. I never managed to build the docs, so if you fixed that, that's good news. I tried again, but I bothered that it needs that Elephant be successfully compiled for BDB. If I never use BDB (and it was the case when I used Elephant previously), I'd like the doc to be buildable without having to install and setup BDB... On the other hand, maybe that's not a big deal as long as we provide already built documentation. Separately, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From nowhere.man at levallois.eu.org Sun Mar 25 03:57:07 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sun, 25 Mar 2007 05:57:07 +0200 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: Message-ID: <20070325035706.GS5640@bateleur.arcanes.fr.eu.org> With latest HEAD, both BDB and SQLite3 passed the whole test suite including migration on both i386 and amd64 under Debian GNU/Linux, with SBCL 1.0.0.0. Which is great news, because this release will come just as I need Elephant in a project with similar constraint as the previous one, where I had some problems with 0.6.0... Happily, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Sun Mar 25 11:02:22 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Sun, 25 Mar 2007 07:02:22 -0400 Subject: [elephant-devel] Documentation / Backends In-Reply-To: <20070325031715.GR5640@bateleur.arcanes.fr.eu.org> References: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> <20070325031715.GR5640@bateleur.arcanes.fr.eu.org> Message-ID: <19E4062A-B700-487F-9B1D-90525A58BDC3@csail.mit.edu> I think DLL files in the release (it's only 3 files) with a flag for 'build your own'. Putting docs in a separate tarball seems fine, that makes it easier to identify when they were built, etc. I don't think there's a need for anyone to build them other than the developers so we don't need to worry about the doc build process being super easy. Thanks for the linux/sbcl testing - that's great news! On Mar 24, 2007, at 11:17 PM, Pierre THIERRY wrote: > Scribit Ian Eslick dies 24/03/2007 hora 12:19: >> Also, the new manual will be available online in texinfo-tree form, a >> single HTML file and in PDF. I'm happy to take your suggestion and >> supply a pre-build version of all these files in the distribution and >> source control. > > FWIW, I think the less built files in the version control the better. > Apart from bootstrapping purpose, they better be released separately, > I'd say. > > Having them as separate tarballs or single files on the project's > website is enough, I think. > >> There is also a manual procedure to do this in other lisps that I >> will document in the Install section of the new manual. > > I never managed to build the docs, so if you fixed that, that's good > news. I tried again, but I bothered that it needs that Elephant be > successfully compiled for BDB. If I never use BDB (and it was the case > when I used Elephant previously), I'd like the doc to be buildable > without having to install and setup BDB... > > On the other hand, maybe that's not a big deal as long as we provide > already built documentation. > > Separately, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From read at robertlread.net Sun Mar 25 18:20:42 2007 From: read at robertlread.net (Robert L. Read) Date: Sun, 25 Mar 2007 13:20:42 -0500 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <462757923@web.de> <52D3FA6F-EA5F-452B-BB09-89639913FDF6@csail.mit.edu> Message-ID: <1174846842.7626.355.camel@localhost.localdomain> On Sat, 2007-03-24 at 16:27 +0100, Edi Weitz wrote: > In the long run you should try to get rid of absolute pathnames at all > (or use them only for building) and trust the OS to find external > programs and shared libraries from the filename sans directories. > Otherwise it will be very hard or almost impossible to deliver > executables with Elephant using Lisps like LispWorks or AllegroCL. If > you're interested, you'll find a long discussion of these topics and a > way to cope with them in the CLSQL mailing list archive, around > mid-2005 IIRC. The thread, which lasted several months, was called > something like "How CLSQL finds and loads foreign libraries." This is certainly reasonable; I will try to study the issue. -------------- next part -------------- An HTML attachment was scrubbed... URL: From read at robertlread.net Sun Mar 25 18:25:13 2007 From: read at robertlread.net (Robert L. Read) Date: Sun, 25 Mar 2007 13:25:13 -0500 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> Message-ID: <1174847114.7626.360.camel@localhost.localdomain> On Fri, 2007-03-23 at 14:09 +0100, Edi Weitz wrote: > On Fri, 23 Mar 2007 07:30:38 -0400, Ian Eslick wrote: > > > The SQLite problem is a known one. There is some initialization > > problem that causes this error - however it is only when creating > > the DB. Once you've created it, and restart the tests, it should > > work. I haven't had the time to track this down and Robert has been > > busy. > > I looked at this a bit and I believe this happens because you > establish two different connections to the database and mix calls to > SELECT between those two. This is surprising to me; I don't think we have two connections open. When I was investigating this issue, in fact it seemed that SQLite3 was throwing an exception to notify that the schema had changed after the table adds, and that CL- SQL, probably erroneously, was treating this as a full error rather than as a warning. I will attempt to verify this when I have time; I have been out of town and have my kids with me for the rest of tonight. I'm assuming this refers to the errors that one has when first creating a SQLite3 database, correct? > _______________________________________________ > 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: From read at robertlread.net Sun Mar 25 18:27:23 2007 From: read at robertlread.net (Robert L. Read) Date: Sun, 25 Mar 2007 13:27:23 -0500 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: References: <462757923@web.de> <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> Message-ID: <1174847244.7626.363.camel@localhost.localdomain> On Sat, 2007-03-24 at 17:03 +0100, Edi Weitz wrote: > I won't be able to work with the Darcs repository, though. I've spent > some quality time a few months ago to get it to work with Windows and > didn't succeed and I won't do it again. I have better things to do in > my spare time. If you're able to provide tarballs like ViewCVS does, > that won't be a problem, though. I am willing to consider using either subversion or darcs; I'll let Ian decide. Obviously, if darcs doesn't work well with Windows, that is not a point in its favor. -------------- next part -------------- An HTML attachment was scrubbed... URL: From read at robertlread.net Sun Mar 25 18:31:24 2007 From: read at robertlread.net (Robert L. Read) Date: Sun, 25 Mar 2007 13:31:24 -0500 Subject: [elephant-devel] Documentation / Backends In-Reply-To: <20070325031715.GR5640@bateleur.arcanes.fr.eu.org> References: <4883F589-EB9E-4A96-8333-4275879A8458@csail.mit.edu> <20070325031715.GR5640@bateleur.arcanes.fr.eu.org> Message-ID: <1174847485.7626.368.camel@localhost.localdomain> On Sun, 2007-03-25 at 05:17 +0200, Pierre THIERRY wrote: > FWIW, I think the less built files in the version control the better. > Apart from bootstrapping purpose, they better be released separately, > I'd say. > > Having them as separate tarballs or single files on the project's > website is enough, I think. I completely agree with this. We shouldn't put anything that is compiled into the the source control repository. When we make a release, we will always want to construct a appropriate tar balls (and, as people have point out, this may include documentation) in any case as part of the release process. I'm pleased that we're making progress towards a more robust build process, and it certainly seems we are becoming more completely multi-platfrom. Ian is doing most of the actual work, but obviously, if a multi-LISP, multi-OS, multi-backend system it takes patient and informed testers such as y'all to make this process work. -------------- next part -------------- An HTML attachment was scrubbed... URL: From edi at agharta.de Sun Mar 25 19:16:40 2007 From: edi at agharta.de (Edi Weitz) Date: Sun, 25 Mar 2007 21:16:40 +0200 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <1174847244.7626.363.camel@localhost.localdomain> (Robert L. Read's message of "Sun, 25 Mar 2007 13:27:23 -0500") References: <462757923@web.de> <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> <1174847244.7626.363.camel@localhost.localdomain> Message-ID: On Sun, 25 Mar 2007 13:27:23 -0500, "Robert L. Read" wrote: > I am willing to consider using either subversion or darcs; I'll let > Ian decide. Obviously, if darcs doesn't work well with Windows, > that is not a point in its favor. I'm not sure if I sent this to Ian or to the list, but just FYI: CVS, Subversion, and Perforce all worked fine for me on Windows (some of them via Cygwin, some "natively"). From edi at agharta.de Sun Mar 25 19:28:52 2007 From: edi at agharta.de (Edi Weitz) Date: Sun, 25 Mar 2007 21:28:52 +0200 Subject: [elephant-devel] Start of 0.6.1 Beta Cycle In-Reply-To: <1174847114.7626.360.camel@localhost.localdomain> (Robert L. Read's message of "Sun, 25 Mar 2007 13:25:13 -0500") References: <84C21B42-FCDA-45D2-B436-6E3B47572AFB@csail.mit.edu> <1174847114.7626.360.camel@localhost.localdomain> Message-ID: On Sun, 25 Mar 2007 13:25:13 -0500, "Robert L. Read" wrote: > This is surprising to me; I don't think we have two connections > open. Not any more, I think Ian changed something after I reported this. I'm pretty sure that at that time I had traced CLSQL:CONNECT and I saw two connection attempts during the backend tests. (Two independent ones, not the nested ones CLSQL might do in case of :IF-EXISTS :OLD.) > I'm assuming this refers to the errors that one has when first > creating a SQLite3 database, correct? Yes. But, see above, this is fixed now. From nowhere.man at levallois.eu.org Mon Mar 26 00:15:51 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Mon, 26 Mar 2007 02:15:51 +0200 Subject: DCVS under Windows (was Re: [elephant-devel] Start of 0.6.1 Beta Cycle) In-Reply-To: <1174847244.7626.363.camel@localhost.localdomain> References: <462757923@web.de> <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> <1174847244.7626.363.camel@localhost.localdomain> Message-ID: <20070326001551.GE19256@bateleur.arcanes.fr.eu.org> Scribit Robert L. Read dies 25/03/2007 hora 13:27: > Obviously, if darcs doesn't work well with Windows, that is not a > point in its favor. As I said, if eventually you don't decide to use darcs, but wish to use a DCVS, I strongly recommend Mercurial. It seems to work nicely on Windows, has a clean and well-documented interface and very good performance. Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From henrik at evahjelte.com Mon Mar 26 06:40:29 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Mon, 26 Mar 2007 08:40:29 +0200 Subject: DCVS under Windows (was Re: [elephant-devel] Start of 0.6.1 Beta Cycle) In-Reply-To: <20070326001551.GE19256@bateleur.arcanes.fr.eu.org> References: <462757923@web.de> <21D23BF4-347D-496E-9175-5C5C6AD275FC@csail.mit.edu> <1174847244.7626.363.camel@localhost.localdomain> <20070326001551.GE19256@bateleur.arcanes.fr.eu.org> Message-ID: <1174891229.5885.130.camel@trinidad> I am surprised to hear that darcs didn't work on windows. It must work for some people though, there is even a GUI browser for darcs on windows: http://tortoisedarcs.sourceforge.net/ I think someone (possibly PG) wrote he had never heard of anyone knowing Common Lisp well switching to Java unless forced to. Likewise I have never heard of someone knowing darcs switching to cvs or subversion. However, there has been at least one person knowing darcs well that switched to Mercurial. http://changelog.complete.org/posts/588-Re-Examining-Darcs-Mercurial.html So being a big darcs fan, if for some reason darcs is not choosen, I also give my second vote to Mercurial. /Henrik On Mon, 2007-03-26 at 02:15 +0200, Pierre THIERRY wrote: > Scribit Robert L. Read dies 25/03/2007 hora 13:27: > > Obviously, if darcs doesn't work well with Windows, that is not a > > point in its favor. > > As I said, if eventually you don't decide to use darcs, but wish to use > a DCVS, I strongly recommend Mercurial. It seems to work nicely on > Windows, has a clean and well-documented interface and very good > performance. > > Quickly, > Pierre > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From erik.garrison at gmail.com Tue Mar 27 06:38:36 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Tue, 27 Mar 2007 18:38:36 +1200 Subject: [elephant-devel] 0.60 tarball missing Message-ID: <20070327063836.GB24428@localhost> I tried to download and install elephant using asdf, but was frustrated by a missing tarball on the elephant homepage. The dangling uri is: http://www.common-lisp.net/project/elephant/elephant-0.6.0.tgz 404 -Erik From read at robertlread.net Tue Mar 27 12:01:25 2007 From: read at robertlread.net (Robert L. Read) Date: Tue, 27 Mar 2007 07:01:25 -0500 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070327063836.GB24428@localhost> References: <20070327063836.GB24428@localhost> Message-ID: <1174996886.6561.68.camel@localhost.localdomain> This url should work: http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz Thanks for point this out; I'll ask Ian to fix it. On Tue, 2007-03-27 at 18:38 +1200, Erik Garrison wrote: > I tried to download and install elephant using asdf, but was frustrated > by a missing tarball on the elephant homepage. The dangling uri is: > http://www.common-lisp.net/project/elephant/elephant-0.6.0.tgz > > 404 > > -Erik > _______________________________________________ > 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: From erik.garrison at gmail.com Fri Mar 30 00:23:05 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Fri, 30 Mar 2007 12:23:05 +1200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <1174996886.6561.68.camel@localhost.localdomain> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> Message-ID: <20070330002305.GB6280@localhost> On Tue, Mar 27, 2007 at 07:01:25AM -0500, Robert L. Read wrote: > This url should work: > > http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz > > Thanks for point this out; I'll ask Ian to fix it. > It does. Thanks. On install via asdf-install I get: debugger invoked on a SB-FASL::INVALID-FASL-VERSION: # is in native code fasl file format version 63, but this version of SBCL uses format version 72. Any ideas? Is there a way to have each common lisp variant compile the system itself? Could anyone advise me on how to recompile and install via asdf? Even a link to a tutorial would be nice... I'm trying to keep the myriad dependencies of my project within the subset of tools that can be asdf-installed. Otherwise the benefits of working in Lisp are quickly nullified. -Erik From edi at agharta.de Fri Mar 30 00:34:54 2007 From: edi at agharta.de (Edi Weitz) Date: Fri, 30 Mar 2007 02:34:54 +0200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330002305.GB6280@localhost> (Erik Garrison's message of "Fri, 30 Mar 2007 12:23:05 +1200") References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> Message-ID: On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison wrote: > debugger invoked on a SB-FASL::INVALID-FASL-VERSION: > # /usr/local/lib/sbcl/site/elephant/src/memutil/memutil.fasl" {B07E029}> > is in native code fasl file format version 63, but this version of SBCL > uses format version 72. Add this code to your ~/.sbclrc file: (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) (handler-case (call-next-method o c) (sb-ext:invalid-fasl () (asdf:perform (make-instance 'asdf:compile-op) c) (call-next-method)))) From erik.garrison at gmail.com Fri Mar 30 00:49:07 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Fri, 30 Mar 2007 12:49:07 +1200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> Message-ID: <20070330004907.GC6280@localhost> On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: > On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison wrote: > > > debugger invoked on a SB-FASL::INVALID-FASL-VERSION: > > # > /usr/local/lib/sbcl/site/elephant/src/memutil/memutil.fasl" {B07E029}> > > is in native code fasl file format version 63, but this version of SBCL > > uses format version 72. > > Add this code to your ~/.sbclrc file: > > (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) > (handler-case > (call-next-method o c) > (sb-ext:invalid-fasl () > (asdf:perform (make-instance 'asdf:compile-op) c) > (call-next-method)))) Sweet! This does the trick. Now I get: ; compiling (REQUIRE :ACACHE) debugger invoked on a SB-INT:EXTENSION-FAILURE: Don't know how to REQUIRE ACACHE. What is acache? -Erik From read at robertlread.net Fri Mar 30 01:37:05 2007 From: read at robertlread.net (Robert L. Read) Date: Thu, 29 Mar 2007 20:37:05 -0500 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330004907.GC6280@localhost> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> Message-ID: <1175218626.6561.173.camel@localhost.localdomain> On Fri, 2007-03-30 at 12:49 +1200, Erik Garrison wrote: > (REQUIRE :ACACHE) It looks like "acache" is something in Ian's contrib directory. Did you install from a tar ball or form CVS? I'll try to build right now and see what's up. You are using SBCL, from the messages you post, I assume? -------------- next part -------------- An HTML attachment was scrubbed... URL: From read at robertlread.net Fri Mar 30 01:43:16 2007 From: read at robertlread.net (Robert L. Read) Date: Thu, 29 Mar 2007 20:43:16 -0500 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330004907.GC6280@localhost> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> Message-ID: <1175218997.6561.177.camel@localhost.localdomain> I'm green on SBCL on the tip of the CVS branch. I don't remember anyone having this problem on the 0.6.0 release---so I am (not uncommonly) confused. Is it looking for acache within the elepahnt code, or perhaps somewhere else as it is rebuilding fasls? On Fri, 2007-03-30 at 12:49 +1200, Erik Garrison wrote: > On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: > > On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison wrote: > > > > > debugger invoked on a SB-FASL::INVALID-FASL-VERSION: > > > # > > /usr/local/lib/sbcl/site/elephant/src/memutil/memutil.fasl" {B07E029}> > > > is in native code fasl file format version 63, but this version of SBCL > > > uses format version 72. > > > > Add this code to your ~/.sbclrc file: > > > > (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) > > (handler-case > > (call-next-method o c) > > (sb-ext:invalid-fasl () > > (asdf:perform (make-instance 'asdf:compile-op) c) > > (call-next-method)))) > > Sweet! This does the trick. > > Now I get: > > ; compiling (REQUIRE :ACACHE) > debugger invoked on a SB-INT:EXTENSION-FAILURE: > Don't know how to REQUIRE ACACHE. > > What is acache? > > -Erik > _______________________________________________ > 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: From eslick at csail.mit.edu Fri Mar 30 01:58:34 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Thu, 29 Mar 2007 21:58:34 -0400 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330004907.GC6280@localhost> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> Message-ID: <201C3513-FD21-415C-8EFC-7217FFD90858@csail.mit.edu> I have no idea where this error is coming from. From your earlier e- mail I'm assuming that you are running the tarball version of elephant-0.6.0. It sounds like you may be trying to call asdf on ele- acache. Acache is an allegro common lisp only backend and it is only partially implemented anyway. (We probably should have removed the ele-acache.asd from the tarball, it's in contrib now and won't be part of the release). The proper thing to do is call asdf on ele-bdb (if using Berkeley DB) or ele-clsql (if using a SQL backend). There should be some good directions in the INSTALL file. If that doesn't fix it, please give us more information about the context in which you got this error. Elephant 0.6.0 and the current CVS both have been fairly extensively tested on SBCL so any problems are likely configuration errors. Moreover, if you are not in a terrible rush, you probably want to wait for the 0.6.1 release that is forthcoming. We're just putting finishing touches on now, but other than some build issues in Windows, OpenMCL verification and a ton of new documentation, it's done. You can get started with the latest CVS and the formal 0.6.1 release will be available via asdf-install in a couple of weeks. asdf-install doesn't solve all the problems when you have external dependencies like a database, however. You'll still have to do some work to get it running although that should be easier now. While Elephant may eventually have a model where it needs no external C libraries or outside databases, but that day may be a long time coming. Ian PS - I'll be doing a rash of checkins over the next week, but almost all of them are to clean up documentation strings so the manual reads more easily, etc. On Mar 29, 2007, at 8:49 PM, Erik Garrison wrote: > On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: >> On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison >> wrote: >> >>> debugger invoked on a SB-FASL::INVALID-FASL-VERSION: >>> #>> /usr/local/lib/sbcl/site/elephant/src/memutil/ >>> memutil.fasl" {B07E029}> >>> is in native code fasl file format version 63, but this version >>> of SBCL >>> uses format version 72. >> >> Add this code to your ~/.sbclrc file: >> >> (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl- >> source-file)) >> (handler-case >> (call-next-method o c) >> (sb-ext:invalid-fasl () >> (asdf:perform (make-instance 'asdf:compile-op) c) >> (call-next-method)))) > > Sweet! This does the trick. > > Now I get: > > ; compiling (REQUIRE :ACACHE) > debugger invoked on a SB-INT:EXTENSION-FAILURE: > Don't know how to REQUIRE ACACHE. > > What is acache? > > -Erik > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From erik.garrison at gmail.com Fri Mar 30 02:07:24 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Fri, 30 Mar 2007 14:07:24 +1200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <1175218997.6561.177.camel@localhost.localdomain> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> Message-ID: <20070330020724.GE6280@localhost> On Thu, Mar 29, 2007 at 08:43:16PM -0500, Robert L. Read wrote: > I'm green on SBCL on the tip of the CVS branch. I don't remember anyone > having this problem > on the 0.6.0 release---so I am (not uncommonly) confused. > > Is it looking for acache within the elepahnt code, or perhaps somewhere > else as it is rebuilding > fasls? > > I'm doing the install via: (asdf-install:install "http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz") Apparently it expects acache to be installed when (require 'acache) is called. Is acache necessary to use elephant? ;; in src/contrib/eslick/db-acache/package.lisp (eval-when (:load-toplevel :compile-toplevel) (require :acache)) -Erik > > > > On Fri, 2007-03-30 at 12:49 +1200, Erik Garrison wrote: > > > On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: > > > On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison wrote: > > > > > > > debugger invoked on a SB-FASL::INVALID-FASL-VERSION: > > > > # > > > /usr/local/lib/sbcl/site/elephant/src/memutil/memutil.fasl" {B07E029}> > > > > is in native code fasl file format version 63, but this version of SBCL > > > > uses format version 72. > > > > > > Add this code to your ~/.sbclrc file: > > > > > > (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl-source-file)) > > > (handler-case > > > (call-next-method o c) > > > (sb-ext:invalid-fasl () > > > (asdf:perform (make-instance 'asdf:compile-op) c) > > > (call-next-method)))) > > > > Sweet! This does the trick. > > > > Now I get: > > > > ; compiling (REQUIRE :ACACHE) > > debugger invoked on a SB-INT:EXTENSION-FAILURE: > > Don't know how to REQUIRE ACACHE. > > > > What is acache? > > > > -Erik > > _______________________________________________ > > elephant-devel site list > > elephant-devel at common-lisp.net > > http://common-lisp.net/mailman/listinfo/elephant-devel > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Fri Mar 30 02:26:16 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Thu, 29 Mar 2007 22:26:16 -0400 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330020724.GE6280@localhost> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> Message-ID: <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> Do you get this error from running asdf-install, or from running asdf after installing? Do you know what .asd file is being loaded first? ele-acache.asd should never be called and thus db-acache/package.lisp should never be compiled. Ian On Mar 29, 2007, at 10:07 PM, Erik Garrison wrote: > On Thu, Mar 29, 2007 at 08:43:16PM -0500, Robert L. Read wrote: >> I'm green on SBCL on the tip of the CVS branch. I don't remember >> anyone >> having this problem >> on the 0.6.0 release---so I am (not uncommonly) confused. >> >> Is it looking for acache within the elepahnt code, or perhaps >> somewhere >> else as it is rebuilding >> fasls? >> >> > > I'm doing the install via: > > (asdf-install:install > "http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz") > > Apparently it expects acache to be installed when (require 'acache) is > called. Is acache necessary to use elephant? > > ;; in src/contrib/eslick/db-acache/package.lisp > (eval-when (:load-toplevel :compile-toplevel) > (require :acache)) > > -Erik > > >> >> >> >> On Fri, 2007-03-30 at 12:49 +1200, Erik Garrison wrote: >> >>> On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: >>>> On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison >>>> wrote: >>>> >>>>> debugger invoked on a SB-FASL::INVALID-FASL-VERSION: >>>>> #>>>> /usr/local/lib/sbcl/site/elephant/src/memutil/ >>>>> memutil.fasl" {B07E029}> >>>>> is in native code fasl file format version 63, but this version >>>>> of SBCL >>>>> uses format version 72. >>>> >>>> Add this code to your ~/.sbclrc file: >>>> >>>> (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl- >>>> source-file)) >>>> (handler-case >>>> (call-next-method o c) >>>> (sb-ext:invalid-fasl () >>>> (asdf:perform (make-instance 'asdf:compile-op) c) >>>> (call-next-method)))) >>> >>> Sweet! This does the trick. >>> >>> Now I get: >>> >>> ; compiling (REQUIRE :ACACHE) >>> debugger invoked on a SB-INT:EXTENSION-FAILURE: >>> Don't know how to REQUIRE ACACHE. >>> >>> What is acache? >>> >>> -Erik >>> _______________________________________________ >>> elephant-devel site list >>> elephant-devel at common-lisp.net >>> http://common-lisp.net/mailman/listinfo/elephant-devel > >> _______________________________________________ >> elephant-devel site list >> elephant-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/elephant-devel > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From erik.garrison at gmail.com Fri Mar 30 02:43:56 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Fri, 30 Mar 2007 14:43:56 +1200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> Message-ID: <20070330024356.GF6280@localhost> On Thu, Mar 29, 2007 at 10:26:16PM -0400, Ian Eslick wrote: > Do you get this error from running asdf-install, or from running asdf > after installing? Do you know what .asd file is being loaded first? > > ele-acache.asd should never be called and thus db-acache/package.lisp > should never be compiled. > The error arises from: (asdf-install:install "http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz") It does seem to install elephant prior to the meltdown. I can (require 'elephant) after the attempted install and it appears to work. -Erik From eslick at csail.mit.edu Fri Mar 30 02:46:31 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Thu, 29 Mar 2007 22:46:31 -0400 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> Message-ID: <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> Nevermind. Now that it's installed on your system, just call (asdf:operate 'asdf:load-op :elephant) or (require 'elephant) and it should load up (if you've followed the instructions in elephant/INSTALL regarding BDB or CL-SQL). The problem is asdf-install invoking a default behavior that does the wrong thing with elephant. I guess no one has tried to load elephant 0.6.0 via asdf-install before. And actually it really doesn't make much sense to bother loading the asdf file after the install since it won't work until you've read INSTALL and properly setup the external dependencies...sigh. The problem is that asdf-install symlinks and loads all .asd files in the root directory after the install. Since we use subsidiary .asd files, this behavior doesn't work out very well. I think in the next release we could fix this by merging all the .asd files into one big one, but then I think you can't call load-op on ele-bdb, ele-clsql or ele-acache, etc. Does anyone know off the top of their head how CL-SQL manages this? I can look into it later if no one knows the answer without looking into it. Anyway, I'm open for suggestions. Thanks, Ian On Mar 29, 2007, at 10:26 PM, Ian Eslick wrote: > Do you get this error from running asdf-install, or from running > asdf after installing? Do you know what .asd file is being loaded > first? > > ele-acache.asd should never be called and thus db-acache/ > package.lisp should never be compiled. > > Ian > > On Mar 29, 2007, at 10:07 PM, Erik Garrison wrote: > >> On Thu, Mar 29, 2007 at 08:43:16PM -0500, Robert L. Read wrote: >>> I'm green on SBCL on the tip of the CVS branch. I don't remember >>> anyone >>> having this problem >>> on the 0.6.0 release---so I am (not uncommonly) confused. >>> >>> Is it looking for acache within the elepahnt code, or perhaps >>> somewhere >>> else as it is rebuilding >>> fasls? >>> >>> >> >> I'm doing the install via: >> >> (asdf-install:install >> "http://common-lisp.net/project/elephant/dist/elephant-0.6.0.tgz") >> >> Apparently it expects acache to be installed when (require >> 'acache) is >> called. Is acache necessary to use elephant? >> >> ;; in src/contrib/eslick/db-acache/package.lisp >> (eval-when (:load-toplevel :compile-toplevel) >> (require :acache)) >> >> -Erik >> >> >>> >>> >>> >>> On Fri, 2007-03-30 at 12:49 +1200, Erik Garrison wrote: >>> >>>> On Fri, Mar 30, 2007 at 02:34:54AM +0200, Edi Weitz wrote: >>>>> On Fri, 30 Mar 2007 12:23:05 +1200, Erik Garrison >>>>> wrote: >>>>> >>>>>> debugger invoked on a SB-FASL::INVALID-FASL-VERSION: >>>>>> #>>>>> /usr/local/lib/sbcl/site/elephant/src/memutil/ >>>>>> memutil.fasl" {B07E029}> >>>>>> is in native code fasl file format version 63, but this >>>>>> version of SBCL >>>>>> uses format version 72. >>>>> >>>>> Add this code to your ~/.sbclrc file: >>>>> >>>>> (defmethod asdf:perform :around ((o asdf:load-op) (c asdf:cl- >>>>> source-file)) >>>>> (handler-case >>>>> (call-next-method o c) >>>>> (sb-ext:invalid-fasl () >>>>> (asdf:perform (make-instance 'asdf:compile-op) c) >>>>> (call-next-method)))) >>>> >>>> Sweet! This does the trick. >>>> >>>> Now I get: >>>> >>>> ; compiling (REQUIRE :ACACHE) >>>> debugger invoked on a SB-INT:EXTENSION-FAILURE: >>>> Don't know how to REQUIRE ACACHE. >>>> >>>> What is acache? >>>> >>>> -Erik >>>> _______________________________________________ >>>> elephant-devel site list >>>> elephant-devel at common-lisp.net >>>> http://common-lisp.net/mailman/listinfo/elephant-devel >> >>> _______________________________________________ >>> elephant-devel site list >>> elephant-devel at common-lisp.net >>> http://common-lisp.net/mailman/listinfo/elephant-devel >> _______________________________________________ >> elephant-devel site list >> elephant-devel at common-lisp.net >> http://common-lisp.net/mailman/listinfo/elephant-devel > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From henrik at evahjelte.com Fri Mar 30 03:32:13 2007 From: henrik at evahjelte.com (Henrik Hjelte) Date: Fri, 30 Mar 2007 05:32:13 +0200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> Message-ID: <1175225533.18099.206.camel@trinidad> On Thu, 2007-03-29 at 22:46 -0400, Ian Eslick wrote: > The problem is asdf-install invoking a default behavior that does the > wrong thing with elephant. I guess no one has tried to load elephant > 0.6.0 via asdf-install before. > > And actually it really doesn't make much sense to bother loading the > asdf file after the install since it won't work until you've read > INSTALL and properly setup the external dependencies...sigh. > > The problem is that asdf-install symlinks and loads all .asd files in > the root directory after the install. Since we use subsidiary .asd > files, this behavior doesn't work out very well. > I think in the next release we could fix this by merging all the .asd > files into one big one, but then I think you can't call load-op on > ele-bdb, ele-clsql or ele-acache, etc. Does anyone know off the top > of their head how CL-SQL manages this? I can look into it later if > no one knows the answer without looking into it. > > Anyway, I'm open for suggestions. I have a suggestion: drop asdf-install. Since elephant will need tweaking, installing berkley DB or configuring a database, asdf-install will not work out of the box for years. Instead moving to a distributed version control system is the way to go, combined with a stable branch and tagging for versions. That way it is much easier to get people to collaborate on the project. And maybe zipfiles/tarballs, but not asdf-install. I personally think asdf-install as it is now is not a great idea. I seldom use it anymore. If you use a library there is a big chance you may want to tweak it some day, and then you are better of with a distributed version control system. Some patches you might want to send in, some are best kept as your own changes. And asdf-installable libraries don't have the _darcs folder included, so it make things more difficult. Just my two cents, Henrik Hjelte From nowhere.man at levallois.eu.org Fri Mar 30 10:09:27 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Fri, 30 Mar 2007 12:09:27 +0200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330002305.GB6280@localhost> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> Message-ID: <20070330100927.GO19256@bateleur.arcanes.fr.eu.org> Scribit Erik Garrison dies 30/03/2007 hora 12:23: > I'm trying to keep the myriad dependencies of my project within the > subset of tools that can be asdf-installed. Otherwise the benefits of > working in Lisp are quickly nullified. If you're working with Linux, maybe your distro already has some support for this. In Debian, depenedncies are managed by the package system and there is the common-lisp-controller package that takes care of storing FASL files in a separate place and removing them when they should be rebuilt. Quite useful, in my short experience. BTW, I've done a first try at packaging Elephant 0.6.0 and will package 0.6.1, at least when it's released. Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Fri Mar 30 12:50:24 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 30 Mar 2007 08:50:24 -0400 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <1175225533.18099.206.camel@trinidad> References: <20070327063836.GB24428@localhost> <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> <1175225533.18099.206.camel@trinidad> Message-ID: <2C8519F8-FF1D-479F-814C-81B34C1821A3@csail.mit.edu> I tend to agree with Henrik for my own part. Despite the maturity of some of the lisp libraries, I have found myself needing to patch or tweak many of them at one point or another. Moreoever, if you asdf- install a version, find a problem, report it, then you can't receive a fix until another asdf-install version is released. Our release cycle, at least, is quite long. It is very inconvenient then to post patches that have to be manually applied. I just took a peek at Mercurial - it's basically Darcs written in Python although with some C extensions. Not sure I like adding yet another source control to the Lisp ecosystem (CVS, SVN, Darcs, etc). An ideal solution would be cl-darcs, but it's not quite mature enough yet nor are there people other than the author using/supporting it. I'm tempted to just use SVN for the next while, until there is a proper cross-platform, distributed source control available (perhaps when Darcs works better on Windows). Ian On Mar 29, 2007, at 11:32 PM, Henrik Hjelte wrote: > On Thu, 2007-03-29 at 22:46 -0400, Ian Eslick wrote: > >> The problem is asdf-install invoking a default behavior that does the >> wrong thing with elephant. I guess no one has tried to load elephant >> 0.6.0 via asdf-install before. >> >> And actually it really doesn't make much sense to bother loading the >> asdf file after the install since it won't work until you've read >> INSTALL and properly setup the external dependencies...sigh. >> >> The problem is that asdf-install symlinks and loads all .asd files in >> the root directory after the install. Since we use subsidiary .asd >> files, this behavior doesn't work out very well. >> I think in the next release we could fix this by merging all the .asd >> files into one big one, but then I think you can't call load-op on >> ele-bdb, ele-clsql or ele-acache, etc. Does anyone know off the top >> of their head how CL-SQL manages this? I can look into it later if >> no one knows the answer without looking into it. >> >> Anyway, I'm open for suggestions. > I have a suggestion: drop asdf-install. Since elephant will need > tweaking, installing berkley DB or configuring a database, asdf- > install > will not work out of the box for years. > > Instead moving to a distributed version control system is the way > to go, > combined with a stable branch and tagging for versions. That way it is > much easier to get people to collaborate on the project. And maybe > zipfiles/tarballs, but not asdf-install. > > I personally think asdf-install as it is now is not a great idea. I > seldom use it anymore. If you use a library there is a big chance you > may want to tweak it some day, and then you are better of with a > distributed version control system. Some patches you might want to > send > in, some are best kept as your own changes. And asdf-installable > libraries don't have the _darcs folder included, so it make things > more > difficult. > > Just my two cents, > Henrik Hjelte > > > > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel From eslick at csail.mit.edu Fri Mar 30 17:22:10 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 30 Mar 2007 13:22:10 -0400 Subject: [elephant-devel] Question about MOP Message-ID: <25C77522-B1B6-4324-96E7-8E69544917AC@csail.mit.edu> Is there a way to implement class keyword arguments in a metaclass? ensure-class-using-class will fail if it gets a keyword argument it doesn't recognize, but :around methods on that function for the class argument (eql nil) flags warnings or errors. Since the MOP doesn't know the class at the function call time, you can specialize the :around method on the net metaclass (although you need to do that for a re-evaluation of a defined class). Is there another point in the MOP where you can intervene or register a keyword argument so ensure-class-using-class doesn't fail? Thank you, Ian From nowhere.man at levallois.eu.org Fri Mar 30 22:30:17 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sat, 31 Mar 2007 00:30:17 +0200 Subject: [elephant-devel] Question about MOP In-Reply-To: <25C77522-B1B6-4324-96E7-8E69544917AC@csail.mit.edu> References: <25C77522-B1B6-4324-96E7-8E69544917AC@csail.mit.edu> Message-ID: <20070330223016.GR19256@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 30/03/2007 hora 13:22: > Is there a way to implement class keyword arguments in a metaclass? What do you mean? > ensure-class-using-class will fail if it gets a keyword argument it > doesn't recognize Strange, because its signature includes &allow-other-keys... Curiously, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From nowhere.man at levallois.eu.org Fri Mar 30 22:53:02 2007 From: nowhere.man at levallois.eu.org (Pierre THIERRY) Date: Sat, 31 Mar 2007 00:53:02 +0200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <2C8519F8-FF1D-479F-814C-81B34C1821A3@csail.mit.edu> References: <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> <1175225533.18099.206.camel@trinidad> <2C8519F8-FF1D-479F-814C-81B34C1821A3@csail.mit.edu> Message-ID: <20070330225301.GS19256@bateleur.arcanes.fr.eu.org> Scribit Ian Eslick dies 30/03/2007 hora 08:50: > I just took a peek at Mercurial - it's basically Darcs written in > Python although with some C extensions. Well, not quite. As some Debian developper said, as he switeched from Darcs to Mercurial, they don't have the same philsophy. Darcs will avoid conflicts at all costs, thansk to the way it handles patches, whereas Mercurial will merely make resolving conflicts easy when it's not done in completely automated way. > Not sure I like adding yet another source control to the Lisp > ecosystem (CVS, SVN, Darcs, etc). An ideal solution would be > cl-darcs, but it's not quite mature enough yet nor are there people > other than the author using/supporting it. Do you know if the algorithmic issues of Darcs are implementation dependent? If not, cl-darcs will suffer the same problem that some commits operate in unbounded time. > I'm tempted to just use SVN for the next while, until there is a > proper cross-platform, distributed source control available Well, I didn't heard of any problems with Mercurial on Windows. It lacks a TortoireHg, though, whereas there's a TortoiseDarcs and TortoiseSVN already (though I only used the latter myself). Quickly, Pierre -- nowhere.man at levallois.eu.org OpenPGP 0xD9D50D8A -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: From eslick at csail.mit.edu Fri Mar 30 23:41:22 2007 From: eslick at csail.mit.edu (Ian Eslick) Date: Fri, 30 Mar 2007 19:41:22 -0400 Subject: [elephant-devel] Question about MOP In-Reply-To: <20070330223016.GR19256@bateleur.arcanes.fr.eu.org> References: <25C77522-B1B6-4324-96E7-8E69544917AC@csail.mit.edu> <20070330223016.GR19256@bateleur.arcanes.fr.eu.org> Message-ID: <30128C7B-3B73-432B-A56F-06B0024C7766@csail.mit.edu> Nevermind. I went back and tested some assumptions I was making back when I was still learning the MOP and found them not to hold, so I think I have a cleaner solution now. Thanks for the prompting Pierre! Ian On Mar 30, 2007, at 6:30 PM, Pierre THIERRY wrote: > Scribit Ian Eslick dies 30/03/2007 hora 13:22: >> Is there a way to implement class keyword arguments in a metaclass? > > What do you mean? > >> ensure-class-using-class will fail if it gets a keyword argument it >> doesn't recognize > > Strange, because its signature includes &allow-other-keys... > > Curiously, > Pierre > -- > nowhere.man at levallois.eu.org > OpenPGP 0xD9D50D8A > _______________________________________________ > elephant-devel site list > elephant-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/elephant-devel -------------- next part -------------- A non-text attachment was scrubbed... Name: PGP.sig Type: application/pgp-signature Size: 186 bytes Desc: This is a digitally signed message part URL: From read at robertlread.net Sat Mar 31 02:55:05 2007 From: read at robertlread.net (Robert L. Read) Date: Fri, 30 Mar 2007 21:55:05 -0500 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <20070330225301.GS19256@bateleur.arcanes.fr.eu.org> References: <1174996886.6561.68.camel@localhost.localdomain> <20070330002305.GB6280@localhost> <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> <1175225533.18099.206.camel@trinidad> <2C8519F8-FF1D-479F-814C-81B34C1821A3@csail.mit.edu> <20070330225301.GS19256@bateleur.arcanes.fr.eu.org> Message-ID: <1175309705.6561.205.camel@localhost.localdomain> I still insist that we use either Darcs or subversion. I think Darcs may be better, but subversion is much more standard. A primary concern must be the each with which the average user, including the non-LISP expert, can extract our work. We are not so large a project that we have to optimize our use of the source control system; we should instead optimize the availability to users. In fact subversion is promptly better based on that argument. On Sat, 2007-03-31 at 00:53 +0200, Pierre THIERRY wrote: > Scribit Ian Eslick dies 30/03/2007 hora 08:50: > > I just took a peek at Mercurial - it's basically Darcs written in > > Python although with some C extensions. > > Well, not quite. As some Debian developper said, as he switeched from > Darcs to Mercurial, they don't have the same philsophy. Darcs will avoid > conflicts at all costs, thansk to the way it handles patches, whereas > Mercurial will merely make resolving conflicts easy when it's not done > in completely automated way. > > > Not sure I like adding yet another source control to the Lisp > > ecosystem (CVS, SVN, Darcs, etc). An ideal solution would be > > cl-darcs, but it's not quite mature enough yet nor are there people > > other than the author using/supporting it. > > Do you know if the algorithmic issues of Darcs are implementation > dependent? If not, cl-darcs will suffer the same problem that some > commits operate in unbounded time. > > > I'm tempted to just use SVN for the next while, until there is a > > proper cross-platform, distributed source control available > > Well, I didn't heard of any problems with Mercurial on Windows. It lacks > a TortoireHg, though, whereas there's a TortoiseDarcs and TortoiseSVN > already (though I only used the latter myself). > > Quickly, > Pierre > _______________________________________________ > 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: From erik.garrison at gmail.com Sat Mar 31 04:46:40 2007 From: erik.garrison at gmail.com (Erik Garrison) Date: Sat, 31 Mar 2007 16:46:40 +1200 Subject: [elephant-devel] 0.60 tarball missing In-Reply-To: <1175309705.6561.205.camel@localhost.localdomain> References: <20070330004907.GC6280@localhost> <1175218997.6561.177.camel@localhost.localdomain> <20070330020724.GE6280@localhost> <8A4A92C4-4042-43F9-AA33-8612816D4E06@csail.mit.edu> <679737DE-7BA7-442B-9652-91E8D0D47860@csail.mit.edu> <1175225533.18099.206.camel@trinidad> <2C8519F8-FF1D-479F-814C-81B34C1821A3@csail.mit.edu> <20070330225301.GS19256@bateleur.arcanes.fr.eu.org> <1175309705.6561.205.camel@localhost.localdomain> Message-ID: <20070331044640.GI6280@localhost> On Fri, Mar 30, 2007 at 09:55:05PM -0500, Robert L. Read wrote: > I still insist that we use either Darcs or subversion. I think Darcs > may be better, but > subversion is much more standard. > > A primary concern must be the each with which the average user, > including the > non-LISP expert, can extract our work. > > We are not so large a project that we have to optimize our use of the > source > control system; we should instead optimize the availability to users. > > In fact subversion is promptly better based on that argument. > I've used darcs in another project and found it fantastic and generally straightforward. In terms of "trouble to the end user" darcs fares quite well. A linux user simply installs darcs via a package system, and then issues "darcs get http://www.whatever.org/repo" to grab a repository. Recording and sending patches is relatively simple as well. Because of the interactive nature of recording and sharing patches, a five-sentence tutorial should suffice to get the new user up and running. -Erik