TODO comments
Tue Dec 22 03:21:21 PST 2009 attila.lendvai@gmail.com
* TODO comments
Warning: CRC errors found. These are probably harmless but should be repaired.
See 'darcs gzcrcs --help' for more information.
diff -rN -u old-cl-rdbms/transaction.lisp new-cl-rdbms/transaction.lisp
--- old-cl-rdbms/transaction.lisp 2014-07-28 19:35:37.000000000 -0700
+++ new-cl-rdbms/transaction.lisp 2014-07-28 19:35:37.000000000 -0700
@@ -139,6 +139,8 @@
(mark-transaction-for-rollback-only)
(values)))
(setf body-finished? #t)
+ ;; TODO user code may run after this point, which may call MARK-TRANSACTION-FOR-ROLLBACK-ONLY and stuff like that, which should fail...
+ ;; current example: perec::check-slot-value-type
(ecase (terminal-action-of *transaction*)
((:commit :marked-for-commit-only)
(commit-transaction *database* *transaction*))
@@ -163,6 +165,7 @@
(assert-transaction-in-progress)
(setf (terminal-action-of *transaction*) :marked-for-commit-only))
+;; TODO add assert that this marking will have an effect (not yet in the commit phase...)
(defun mark-transaction-for-rollback-only ()
(assert-transaction-in-progress)
(setf (terminal-action-of *transaction*) :marked-for-rollback-only))
@@ -171,6 +174,7 @@
(or (timestamp-of *transaction*)
(setf (timestamp-of *transaction*) (first* (first* (execute "select now()"))))))
+;; TODO rename to... err... something else
(def (function io) in-transaction-p ()
(and (boundp '*transaction*)
*transaction*