X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=81a430c59f1c584a231e2d27fef94c87c081958f;hb=e336ab9b5b48fe3f28737386eded4c8f897e25f6;hp=f6bbd3f68369ca2e065741e5abbccb92989893c2;hpb=008ef476827e2b4ec81829f1e204e9f954017678;p=clsql.git diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index f6bbd3f..81a430c 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -314,7 +314,13 @@ column definition in the database.") :accessor specified-type :initarg specified-type :initform nil - :documentation "Internal slot storing the :type specified by user."))) + :documentation "Internal slot storing the :type specified by user.") + (autoincrement-sequence + :accessor view-class-slot-autoincrement-sequence + :initarg :autoincrement-sequence + :initform nil + :documentation "A string naming the (possibly automatically generated) sequence +for a slot with an :auto-increment constraint."))) (defparameter *db-info-lambda-list* '(&key join-class @@ -530,7 +536,9 @@ implementations." ;; defclass expansion, which is too early for the CLSQL type ;; conversion to take place. This gets rid of it. It's ugly ;; but it's better than nothing -wcp10/4/10. - #+(and sbcl #.(cl:if (cl:find-symbol "%TYPE-CHECK-FUNCTION" :sb-pcl) '(and) '(or))) + #+(and sbcl #.(cl:if (cl:and (cl:find-package :sb-pcl) + (cl:find-symbol "%TYPE-CHECK-FUNCTION" :sb-pcl)) + '(cl:and) '(cl:or))) (setf (slot-value esd 'sb-pcl::%type-check-function) nil) ) @@ -565,8 +573,11 @@ implementations." result)) (defun slotdef-for-slot-with-class (slot class) - (find-if #'(lambda (d) (eql slot (slot-definition-name d))) - (class-slots class))) + (typecase slot + (standard-slot-definition slot) + (symbol + (find-if #'(lambda (d) (eql slot (slot-definition-name d))) + (class-slots class))))) #+ignore (eval-when (:compile-toplevel :load-toplevel :execute)