Version 4.0.6 v4.0.6
authorKevin Rosenberg <kevin@rosenberg.net>
Tue, 1 Sep 2009 00:59:25 +0000 (18:59 -0600)
committerKevin Rosenberg <kevin@rosenberg.net>
Tue, 1 Sep 2009 00:59:25 +0000 (18:59 -0600)
   * sql/database.lisp: Fix syntax on process-lock (thanks to
   Stian Sletner)
   * db-mysql/mysql-sql.lisp: Allow use of database parameter
   in database-list function (thanks to Michael Pheasant)
   * sql/oodml.lisp: Allow NULL values for floating-point fields
   (thanks to Jan Rychter)

ChangeLog
db-mysql/mysql-api.lisp
db-mysql/mysql-client-info.lisp
db-mysql/mysql-sql.lisp
debian/changelog
sql/database.lisp
sql/oodml.lisp

index 8a196d63f6b762b798fd230d2b8967b89a3ab91b..3e6051dd96c19feb073861f5a5875eef54ea0683 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.6
+       * sql/database.lisp: Fix syntax on process-lock (thanks to
+       Stian Sletner)
+       * db-mysql/mysql-sql.lisp: Allow use of database parameter
+       in database-list function (thanks to Michael Pheasant)
+       * sql/oodml.lisp: Allow NULL values for floating-point fields
+       (thanks to Jan Rychter)
+       
 02 Jun 2009  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 4.0.5
        * sql/database.lisp: Add process-lock for deleting database from
index 59cbe8c60692dbbcd2ec2f554cc907e6bf31316b..1f747f93c4e870d92522578e71925a96e63f702a 100644 (file)
@@ -8,9 +8,7 @@
 ;;;;                Original code by Pierre R. Mai
 ;;;; Date Started:  Feb 2002
 ;;;;
-;;;; $Id$
-;;;;
-;;;; This file, part of CLSQL, is Copyright (c) 2002 by Kevin M. Rosenberg
+;;;; This file, part of CLSQL, is Copyright (c) 2002-2009 by Kevin M. Rosenberg
 ;;;; and Copyright (c) 1999-2001 by Pierre R. Mai
 ;;;;
 ;;;; CLSQL users are granted the rights to distribute and use this software
index 0721194e41243ee15fab38eef505a353b1a8a2dd..54d97243a8bc46e1316809766f6c303a68755c0e 100644 (file)
                   (string-equal "4.1" *mysql-client-info* :end2 3))
          (pushnew :mysql-client-v4.1 cl:*features*)))
       ((eql (schar *mysql-client-info* 0) #\5)
-       (pushnew :mysql-client-v5 cl:*features*))
+       (pushnew :mysql-client-v5 cl:*features*)
+       (when (and (>= (length *mysql-client-info*) 3)
+                  (string-equal "5.1" *mysql-client-info* :end2 3))
+         (pushnew :mysql-client-v5.1 cl:*features*)))
       (t
        (error "Unknown mysql client version '~A'." *mysql-client-info*)))))
 
index 36fc90a9d25525cfaec3336f43985f0fd33ddda0..7c332cf5f7c8a03d0adfb01f18f1d1e505813e8b 100644 (file)
 
 (defmethod database-list (connection-spec (type (eql :mysql)))
   (destructuring-bind (host name user password &optional port) connection-spec
-    (declare (ignore name))
-    (let ((database (database-connect (list host "mysql" user password port) type)))
+    (let ((database (database-connect (list host (or name "mysql")
+                                            user password port) type)))
       (unwind-protect
            (progn
              (setf (slot-value database 'clsql-sys::state) :open)
index 9b1ac9c9f32ebe9d381679a59152ad2f5cc04fce..b7950eb5fdc00d0a7a201cd6adaab52b51d6277a 100644 (file)
@@ -1,3 +1,9 @@
+cl-sql (4.0.6-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Mon, 31 Aug 2009 14:36:30 -0600
+
 cl-sql (4.0.5-5) unstable; urgency=low
 
   * debian/rules: Fix bug introduced by change to dh-lisp (closes:540816)
index 14bcdc8a02d47453b283400162e794c7df9c913a..f23eea2dbb5f5bf366d364f1d2655de692fd9540 100644 (file)
@@ -166,7 +166,7 @@ from a pool it will be released to this pool."
   (let ((database (find-database database :errorp (and database error))))
     (when database
       (if (conn-pool database)
-          (with-process-lock ((conn-pool-lock pool) "Delete from pool")
+          (with-process-lock ((conn-pool-lock (conn-pool database)) "Delete from pool")
             (when (release-to-pool database)
               (setf *connected-databases* (delete database *connected-databases*))
               (when (eq database *default-database*)
index cc57941e38e2520e80e48cad4ab50fa42b4c9b11..f797be0b02b36d611021bdffa4e9d3afc9477fea 100644 (file)
 
 (defmethod database-output-sql-as-type ((type (eql 'float)) val database db-type)
   (declare (ignore database db-type))
-  (let ((*read-default-float-format* (type-of val)))
-    (format nil "~F" val)))
+  (if (eq (type-of val) 'null)
+      nil
+      (let ((*read-default-float-format* (type-of val)))
+       (format nil "~F" val))))
 
 (defmethod read-sql-value (val type database db-type)
   (declare (ignore type database db-type))