Macro: WITH-TXN

Source

(defmacro with-txn ((txn-var env &key parent txn
			     no-sync not-durable no-wait sync)
		    &body body)
  (once-only (env txn parent no-sync not-durable no-wait sync)
    `(let ((,txn-var (if ,txn
			 ,txn
			 (db-env-txn-begin ,env
					   :parent ,parent
					   :no-sync ,no-sync
					   :not-durable ,not-durable
					   :no-wait ,no-wait
					   :sync ,sync))))
      (in-txn (,txn-var :no-sync ,no-sync
			:sync ,sync
			:do-commit (null ,txn))
	,@body))))
Source Context