r9722: Document the FDML.
[clsql.git] / sql / transaction.lisp
index 201d7c015b63b1b5663d5c92b955a84678c42c26..be3e6d8fdd15c2694299b991036734d09690e189 100644 (file)
@@ -52,9 +52,9 @@
          (setf autocommit (previous-autocommit transaction))
           (map nil #'funcall (commit-hooks transaction)))
         (warn 'sql-warning
-              :format-control
-             "Cannot commit transaction against ~A because there is no transaction in progress."
-              :format-arguments (list database)))))
+              :message
+             (format nil "Cannot commit transaction against ~A because there is no transaction in progress."
+                     database)))))
 
 (defmethod database-abort-transaction ((database database))
   (with-slots (transaction transaction-level autocommit) database
@@ -65,9 +65,9 @@
            (setf autocommit (previous-autocommit transaction))
             (map nil #'funcall (rollback-hooks transaction))))
         (warn 'sql-warning
-              :format-control
-             "Cannot abort transaction against ~A because there is no transaction in progress."
-              :format-arguments (list database)))))
+             :message
+             (format nil "Cannot abort transaction against ~A because there is no transaction in progress."
+                     database)))))
 
 (defun mark-transaction-committed (database)
   (when (and (transaction database)
@@ -82,9 +82,10 @@ back and otherwise the transaction is committed."
   (let ((db (gensym "db-")))
     `(let ((,db ,database))
       (unwind-protect
-           (progn
+           (prog2
              (database-start-transaction ,db)
-             ,@body
+             (progn
+               ,@body)
              (mark-transaction-committed ,db))
         (if (eq (transaction-status (transaction ,db)) :committed)
             (database-commit-transaction ,db)