X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=sql%2Ftransaction.lisp;h=201d7c015b63b1b5663d5c92b955a84678c42c26;hb=635fd6df23f5cdc0247ec93dfdb04e1be670412e;hp=d41d6eff7c0f8a33d332a430af54ea617a382607;hpb=333e8280f2f3438ffd379349bc9746c34cccc159;p=clsql.git 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)) +