(if (> (transaction-level database) 0)
(when (zerop (decf (transaction-level database)))
(unwind-protect
(execute-command "ROLLBACK" :database database)
(map nil #'funcall (rollback-hooks (transaction database)))))
(if (> (transaction-level database) 0)
(when (zerop (decf (transaction-level database)))
(unwind-protect
(execute-command "ROLLBACK" :database database)
(map nil #'funcall (rollback-hooks (transaction database)))))