X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=sql%2Fdatabase.lisp;fp=sql%2Fdatabase.lisp;h=3e8912deff3e59da943cc2b8645c041b414b4b44;hp=faa384dd44a91013704b02dcdff4395ed5339bfb;hb=e2ef529e8004c80a5e013f2e51e7647921912889;hpb=1b07d2fd927cf8f1943ac0a0b8c980d1dc707076 diff --git a/sql/database.lisp b/sql/database.lisp index faa384d..3e8912d 100644 --- a/sql/database.lisp +++ b/sql/database.lisp @@ -312,16 +312,12 @@ system specified by DATABASE-TYPE." database connection given by CONNECTION-SPEC and CONNECT-ARGS. The connection is automatically closed or released to the pool on exit from the body." - (let ((result (gensym "result-"))) - (unless db-var (setf db-var '*default-database*)) - `(let ((,db-var (connect ,connection-spec ,@connect-args)) - (,result nil)) - (unwind-protect - (let ((,db-var ,db-var)) - (setf ,result (progn ,@body))) - (disconnect :database ,db-var)) - ,result))) - + (unless db-var (setf db-var '*default-database*)) + `(let ((,db-var (connect ,connection-spec ,@connect-args))) + (unwind-protect + (let ((,db-var ,db-var)) + (progn ,@body)) + (disconnect :database ,db-var)))) (defmacro with-default-database ((database) &rest body) "Perform BODY with DATABASE bound as *default-database*."