Add support for :default in db constraints. make-constraint-description: use next...
[clsql.git] / sql / oodml.lisp
index e50905e93436755f53f37bbc49ce9f3bcc06412e..0ddaabad5d5444eda23851945f018cf7d9a3bd67 100644 (file)
                  (when (and pk-slot (not pk))
                    (setf pk (if (member :auto-increment (listify (view-class-slot-db-constraints pk-slot)))
                                 (setf (slot-value obj (slot-definition-name pk-slot))
-                                      (database-last-autoincrement-id database
+                                      (database-last-auto-increment-id database
                                                                       table
                                                                       pk-slot))))
 
                        (slot-definition s))
             when (sstoredp sd)
               collect sd))
+      ;; handle slots with defaults
+      (dolist (slot slots)
+       (when (and (slot-exists-p slot 'db-constraints)
+                  (listp (view-class-slot-db-constraints slot))
+                  (member :default (view-class-slot-db-constraints slot)))
+         (update-slot-from-record obj (slot-definition-name slot))))
       ;;this may just be a NOP.
       (setf (slot-value obj 'view-database) database)))