Friends, Testing Elephant 0.6.0 against a postgres db, in OpenMCL 1.0, I found that the close-cursor method fails since it tries to set the value of the sql-cursor slot "curkey" to NIL, while its type spec in the class declaration is INTEGER. Perhaps other lisps allow this. If I change close-cursor to set curkey to -1 as below, the tests run fine. I don't know if there are other routines which check for a null value in that cursor slot, in which case my change wouldn't work. Perhaps the type spec should be removed from the slot declaration instead?
The code is in elephant/src/db-clsql/sql-collections.lisp. (defclass sql-cursor (cursor) ((keys :accessor :sql-crsr-ks :initarg :sql-cursor-keys :initform '()) (curkey :accessor :sql-crsr-ck :initarg :sql-cursor-curkey :initform -1 :type integer)) (:documentation "A SQL cursor for traversing (primary) BTrees.")) ... (defmethod cursor-close ((cursor sql-cursor)) #-openmcl (setf (:sql-crsr-ck cursor) nil) #+openmcl (setf (:sql-crsr-ck cursor) -1) ; ** GK (setf (cursor-initialized-p cursor) nil)) Thanks, George -------- George Khouri [EMAIL PROTECTED] _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel