X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=f3a377eadcc841d32c7a21a86792b8506e90feec;hp=701181da53a8bb3a4da0217511485eb1587ccb19;hb=78489032c6f66ce666ffe5e2e726503b61b94616;hpb=11261eca2090842638d1b3b7c12b7cc1f6d58f09 diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index 701181d..f3a377e 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -107,12 +107,12 @@ qualifier &allow-other-keys) (let ((root-class (find-class 'standard-db-object nil)) - (vmc (find-class 'standard-db-class))) + (vmc 'standard-db-class)) (setf (view-class-qualifier class) (car qualifier)) (if root-class - (if (member-if #'(lambda (super) - (eq (class-of super) vmc)) direct-superclasses) + (if (some #'(lambda (super) (typep super vmc)) + direct-superclasses) (call-next-method) (apply #'call-next-method class @@ -135,7 +135,7 @@ direct-superclasses qualifier &allow-other-keys) (let ((root-class (find-class 'standard-db-object nil)) - (vmc (find-class 'standard-db-class))) + (vmc 'standard-db-class)) (setf (view-table class) (table-name-from-arg (sql-escape (or (and base-table (if (listp base-table) @@ -145,8 +145,8 @@ (setf (view-class-qualifier class) (car qualifier)) (if (and root-class (not (equal class root-class))) - (if (member-if #'(lambda (super) - (eq (class-of super) vmc)) direct-superclasses) + (if (some #'(lambda (super) (typep super vmc)) + direct-superclasses) (call-next-method) (apply #'call-next-method class @@ -444,8 +444,8 @@ which does type checking before storing a value in a slot." (null (specified-type dsd))) (setf (specified-type dsd) (slot-definition-type dsd)) - (setf #-clisp (slot-value dsd 'type) - #+clisp (slot-definition-type dsd) + (setf #-(or clisp sbcl) (slot-value dsd 'type) + #+(or clisp sbcl) (slot-definition-type dsd) (compute-lisp-type-from-slot-specification dsd (slot-definition-type dsd))))