r10839: 15 Nov 2005 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / sql / metaclasses.lisp
index c778f11d0ccb1821f94ecde3b322063b42e2c5ea..332c5c058a7712ad5fd980e98c749bdf952c54f6 100644 (file)
@@ -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))))