From 968b580ab64c6ac20a5ddbd5a5b8eeec092d2e1f Mon Sep 17 00:00:00 2001 From: "nathan@acceleration.net" Date: Fri, 22 Feb 2008 16:50:18 -0500 Subject: [PATCH] Changes from darcs patch: Mon Jun 18 14:14:21 EDT 2007 Nathan Bird * Converting update-record-from-slot to call update-record-from-slots --- sql/oodml.lisp | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) diff --git a/sql/oodml.lisp b/sql/oodml.lisp index 8ffe503..b5a5907 100644 --- a/sql/oodml.lisp +++ b/sql/oodml.lisp @@ -168,30 +168,9 @@ *default-database*)) (signal-no-database-error nil))) -(defmethod update-record-from-slot ((obj standard-db-object) slot &key - database) - (let* ((database (choose-database-for-instance obj database)) - (vct (view-table (class-of obj))) - (sd (slotdef-for-slot-with-class slot (class-of obj)))) - (check-slot-type sd (slot-value obj slot)) - (let* ((att (view-class-slot-column sd)) - (val (db-value-from-slot sd (slot-value obj slot) database))) - (cond ((and vct sd (view-database obj)) - (update-records (sql-expression :table vct) - :attributes (list (sql-expression :attribute att)) - :values (list val) - :where (key-qualifier-for-instance - obj :database database) - :database database)) - ((and vct sd (not (view-database obj))) - (insert-records :into (sql-expression :table vct) - :attributes (list (sql-expression :attribute att)) - :values (list val) - :database database) - (setf (slot-value obj 'view-database) database)) - (t - (error "Unable to update record."))))) - (values)) +(defmethod update-record-from-slot ((obj standard-db-object) slot + &key database) + (update-record-from-slots obj (list slot) :database database)) (defmethod update-record-from-slots ((obj standard-db-object) slots &key database) @@ -221,7 +200,7 @@ :database database) (setf (slot-value obj 'view-database) database)) (t - (error "Unable to update record")))) + (error "Unable to update record.")))) (values)) (defmethod update-records-from-instance ((obj standard-db-object) &key database) -- 2.34.1