From e2ef529e8004c80a5e013f2e51e7647921912889 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Thu, 3 May 2007 03:17:56 +0000 Subject: [PATCH] r11675: 02 May 2007 Kevin Rosenberg * sql/database.lisp: Add ability of WITH-DATABASE to return multiple values (patch from Liam Healy) --- ChangeLog | 4 ++++ sql/database.lisp | 16 ++++++---------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3c147c4..ddce9e5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +02 May 2007 Kevin Rosenberg + * sql/database.lisp: Add ability of WITH-DATABASE to return + multiple values (patch from Liam Healy) + 25 Apr 2007 Kevin Rosenberg * Version 3.8.3 * doc/connect.xml: variable description fix by Liam Healy 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*." -- 2.34.1