X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Frelations.lisp;h=bd492eb70fbf9e46544a2ae882f9ef5d7cc60d95;hb=388e813f22e5443353299e4058b99747ccb42377;hp=44971228659cfcf3c109cbaecdadad2d956fd2a1;hpb=3a070c83b207ce10bd426f0bd9c2ff72a41aa8c8;p=clsql.git diff --git a/sql/relations.lisp b/sql/relations.lisp index 4497122..bd492eb 100644 --- a/sql/relations.lisp +++ b/sql/relations.lisp @@ -12,13 +12,13 @@ ;;;; (http://opensource.franz.com/preamble.html), also known as the LLGPL. ;;;; ************************************************************************* -(in-package #:clsql-sys) +(in-package #:clsql) (defun synchronize-keys (src srckey dest destkey) (let ((skeys (if (listp srckey) srckey (list srckey))) (dkeys (if (listp destkey) destkey (list destkey)))) - (mapcar #'(lambda (sk dk) + (mapc #'(lambda (sk dk) (setf (slot-value dest dk) (typecase sk (symbol @@ -28,7 +28,7 @@ (defun desynchronize-keys (dest destkey) (let ((dkeys (if (listp destkey) destkey (list destkey)))) - (mapcar #'(lambda (dk) + (mapc #'(lambda (dk) (setf (slot-value dest dk) nil)) dkeys))) @@ -43,7 +43,7 @@ (homekey (gethash :home-key dbinfo)) (foreignkey (gethash :foreign-key dbinfo)) (to-many (gethash :set dbinfo))) - (unless (equal (type-of value) join-class) + (unless (subtypep (type-of value) join-class) (error 'clsql-type-error :slotname slot-name :typespec join-class :value value)) (when (gethash :target-slot dbinfo)