r9185: first effort at support field names in QUERY calls, still needs testing
[clsql.git] / base / database.lisp
index 62c6077d313ac7684e8debfd7b209da31a7d6b89..cc26d7119c517449b603ed41b654adeec3594017 100644 (file)
@@ -181,7 +181,7 @@ if the database connection has been lost."
              ((or string list)
               (let ((db (find-database database :errorp nil)))
                 (when (null db)
-                  (if (and database errorp)
+                  (if (and database error)
                       (error 'clsql-generic-error
                              :message
                              (format nil "Unable to find database with connection-spec ~A." database))
@@ -190,8 +190,8 @@ if the database connection has been lost."
                              
     (when (is-database-open db)
       (if force
-         (ignore-errors (disconnect db))
-         (disconnect db :error nil)))
+         (ignore-errors (disconnect :database db))
+         (disconnect :database db :error nil)))
     
     (connect (connection-spec db))))
 
@@ -246,6 +246,10 @@ of full is NIL."
     (setq connection-spec (string-to-list-connection-spec connection-spec)))
   (database-destroy connection-spec database-type))
 
+(defun list-databases (connection-spec &key database-type)
+  (when (stringp connection-spec)
+    (setq connection-spec (string-to-list-connection-spec connection-spec)))
+  (database-list connection-spec database-type))
 
 (defmacro with-database ((db-var connection-spec &rest connect-args) &body body)
   "Evaluate the body in an environment, where `db-var' is bound to the