Revision: 3474 Author: hans URL: http://bknr.net/trac/changeset/3474
Only update LAST-CHANGE slot if another persistent slot is changed.
U trunk/bknr/datastore/src/data/object.lisp
Modified: trunk/bknr/datastore/src/data/object.lisp =================================================================== --- trunk/bknr/datastore/src/data/object.lisp 2008-07-16 18:11:24 UTC (rev 3473) +++ trunk/bknr/datastore/src/data/object.lisp 2008-07-17 06:09:00 UTC (rev 3474) @@ -89,8 +89,9 @@ (not (in-transaction-p))) (error "Attempt to set persistent slot ~A of ~A outside of a transaction" slot-name object)) - (unless (or (eq :restore (store-state *store*)) - (eq 'last-change slot-name)) + (when (and (persistent-slot-p slotd) + (not (eq :restore (store-state *store*))) + (not (eq 'last-change slot-name))) (setf (slot-value object 'last-change) (current-transaction-timestamp)))))
(defmethod (setf slot-value-using-class) :after (newval (class persistent-class) object slotd)