(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
(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)))
(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)