X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Ftransaction.lisp;h=201d7c015b63b1b5663d5c92b955a84678c42c26;hp=d41d6eff7c0f8a33d332a430af54ea617a382607;hb=44cd3f817f6f59ffe495db4cf2b9ea4637a57f75;hpb=2f1b6b521b5c68e249428209a7da57f75e55da47 diff --git a/sql/transaction.lisp b/sql/transaction.lisp index d41d6ef..201d7c0 100644 --- a/sql/transaction.lisp +++ b/sql/transaction.lisp @@ -115,8 +115,10 @@ are called." transaction." (and database (transaction database) (= (transaction-level database) 1))) -(defun autocommit (&key (database *default-database*) (set :unspecified)) - "Returns whether autocommit is currently active." - (unless (eq set :unspecified) - (setf (database-autocommit database) set)) - (database-autocommit database)) +(defun set-autocommit (value &key (database *default-database*)) + "Sets autocommit on or off. Returns old value of of autocommit flag." + (let ((old-value (database-autocommit database))) + (setf (database-autocommit database) value) + (database-autocommit database) + old-value)) +