aboutsummaryrefslogtreecommitdiff
path: root/src/clojure/contrib/sql.clj
diff options
context:
space:
mode:
Diffstat (limited to 'src/clojure/contrib/sql.clj')
-rw-r--r--src/clojure/contrib/sql.clj9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/clojure/contrib/sql.clj b/src/clojure/contrib/sql.clj
index ca9e1c71..77ea1e60 100644
--- a/src/clojure/contrib/sql.clj
+++ b/src/clojure/contrib/sql.clj
@@ -42,9 +42,12 @@
(defmacro transaction
"Evaluates body as a transaction on the open database connection. Any
- nested transactions are absorbed into the outermost transaction. All
- database updates are committed together as a group after evaluating the
- outermost body, or rolled back on any uncaught exception."
+ nested transactions are absorbed into the outermost transaction. By
+ default, all database updates are committed together as a group after
+ evaluating the outermost body, or rolled back on any uncaught
+ exception. If set-rollback-only is called within scope of the outermost
+ transaction, the entire transaction will be rolled back rather than
+ committed when complete."
[& body]
`(transaction* (fn [] ~@body)))