r11675: 02 May 2007 Kevin Rosenberg <kevin@rosenberg.net>
authorKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 3 May 2007 03:17:56 +0000 (03:17 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Thu, 3 May 2007 03:17:56 +0000 (03:17 +0000)
        * sql/database.lisp: Add ability of WITH-DATABASE to return
        multiple values (patch from Liam Healy)

ChangeLog
sql/database.lisp

index 3c147c456d1da1a2d67420206d369f409132eb49..ddce9e5b7ef1914618da3477a94ce8abee6e3e44 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+02 May 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/database.lisp: Add ability of WITH-DATABASE to return
+       multiple values (patch from Liam Healy)
+       
 25 Apr 2007  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.8.3
        * doc/connect.xml: variable description fix by Liam Healy
index faa384dd44a91013704b02dcdff4395ed5339bfb..3e8912deff3e59da943cc2b8645c041b414b4b44 100644 (file)
@@ -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*."