X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fmetaclasses.lisp;h=332c5c058a7712ad5fd980e98c749bdf952c54f6;hp=c778f11d0ccb1821f94ecde3b322063b42e2c5ea;hb=26533896461bb09509b5df14c767afe85dce324d;hpb=952ec6d5f4eeec95f2b9b077a49723b51912d38c diff --git a/sql/metaclasses.lisp b/sql/metaclasses.lisp index c778f11..332c5c0 100644 --- a/sql/metaclasses.lisp +++ b/sql/metaclasses.lisp @@ -78,7 +78,7 @@ ((typep arg 'sql-ident) (slot-value arg 'name)) ((stringp arg) - (intern (symbol-name-default-case arg))))) + (intern arg)))) (defun column-name-from-arg (arg) (cond ((symbolp arg) @@ -309,7 +309,7 @@ column definition in the database.") (defun parse-db-info (db-info-list) (destructuring-bind (&key join-class home-key key-join foreign-key (delete-rule nil) - (target-slot nil) (retrieval :deferred) (set nil)) + (target-slot nil) (retrieval :deferred) (set t)) db-info-list (let ((ih (make-hash-table :size 6))) (if join-class @@ -479,6 +479,9 @@ which does type checking before storing a value in a slot." (delistify-dsd (view-class-slot-db-kind dsd)) :base)) + (setf (slot-value esd 'db-reader) + (when (slot-boundp dsd 'db-reader) + (delistify-dsd (view-class-slot-db-reader dsd)))) (setf (slot-value esd 'db-writer) (when (slot-boundp dsd 'db-writer) (delistify-dsd (view-class-slot-db-writer dsd))))