I've had continuous problems with MCL's type specs. Do you have any idea how and why MCL treats them differently? I never use MCL so don't have a good sense of what standards to use to generate code that works under MCL. This specific problem might be fixed by setting the type to (or null integer).
I'm back hacking on Elephant for a few days so this is a good time to chase any remaining issues to ground. Did you get the 0.6.0, BDB 4.3 and MCL working together? Ian George Khouri wrote: > 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 > _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel