##// END OF EJS Templates
Fix transactions for objects fetched from the db (not created in this image)
someseven -
r5:94e6ef46 tip default
parent child Browse files
Show More
@@ -12,7 +12,9 b''
12 (declare (ignore obj))
12 (declare (ignore obj))
13 (maybe-lock
13 (maybe-lock
14 (let ((*ignore-transaction* t))
14 (let ((*ignore-transaction* t))
15 (do-cache (call-next-method)))))
15 (let ((obj (call-next-method)))
16 (setf (value-backup obj) nil)
17 (do-cache obj)))))
16
18
17 (defmethod mito:insert-dao ((obj cached-dao))
19 (defmethod mito:insert-dao ((obj cached-dao))
18 (maybe-lock
20 (maybe-lock
@@ -77,4 +77,10 b''
77 (with-transaction ()
77 (with-transaction ()
78 (setf (slot obj) 42)
78 (setf (slot obj) 42)
79 (rollback))
79 (rollback))
80 (false (slot-boundp obj 'slot) "Transaction rollback failed to unbind a slot")))
80 (false (slot-boundp obj 'slot) "Transaction rollback failed to unbind a slot")
81 (remhash (mito:object-id obj) (mito-transactions.dev::class-cache 'test-object)))
82 (let (obj)
83 (with-transaction ()
84 (setf obj (find-dao 'test-object))
85 (setf (slot obj) 2))
86 (is = 2 (slot obj))))
General Comments 0
You need to be logged in to leave comments. Login now