r9525: 30 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 30 May 2004 09:34:41 +0000 (09:34 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 30 May 2004 09:34:41 +0000 (09:34 +0000)
        * Version 2.11.4: MySQL 4.1 now passes all tests
        * db-mysql/mysql-api.lisp: Add support for MySQL 4.1 field structure
        * sql/expressions.lisp: Avoid emitting double parenthesis when a
        function contains a subselect.

ChangeLog
db-mysql/mysql-api.lisp
db-mysql/mysql-sql.lisp
debian/changelog
sql/expressions.lisp

index 0aa79339ac9225c37b01a3d8dd7034d13cdfe1e4..5d538c30f1f21207c3dc27c4c74120001e0ae780 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,9 @@
-29 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+30 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.4: MySQL 4.1 now passes all tests
        * sql/package.lisp: Add API for prepared statments.
-       * sql/fdml.lisp: Change implicity flatp processing
+       * sql/fdml.lisp: Change implicit flatp processing
        for string map-query for greater CommonSQL conformance.
-       Add high-high API for prepared statements. Not complete.
+       Add high-high API for prepared statements.
        * tests/test-basic.lisp: Add test for map-query and
        single argument.
        * sql/transactions.lisp: Change name/semantics of
@@ -13,6 +14,9 @@
        * sql/odbc-api.lisp: Update to using ODBC V3 protocol
        * clsql-mysql.asd, clsql-uffi.asd: Remove check and Common Lisp
        Controller invocation.
+       * db-mysql/mysql-api.lisp: Add support for MySQL 4.1 field structure
+       * sql/expressions.lisp: Avoid emitting double parenthesis when a
+       function contains a subselect. 
        
 27 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
        * Version 2.11.3
index c27a50eca26fd3fb363ddd823e58063d8947c4c5..196a823cbf84fc0d2fe9b361bed174cedd2ddb9a 100644 (file)
   (decimals :unsigned-int))
 
 ;; structure changed in mysql 4 client
-#+mysql-client-v4
+#+(and mysql-client-v4 (not mysql-client-v4.1))
 (uffi:def-struct mysql-field
     (name (* :char))
   (table (* :char))
   (decimals :unsigned-int)
   (type mysql-field-types))
 
+#+mysql-client-v4.1
+(uffi:def-struct mysql-field
+    (name (* :char))
+  (org_table (* :char))
+  (table (* :char))
+  (org_table (* :char))
+  (db (* :char))
+  (catalog_db (* :char))
+  (def (* :char))
+  (length :unsigned-long)
+  (max-length :unsigned-long)
+  (name-length :unsigned-int)
+  (org-name-length :unsigned-int)
+  (table-length :unsigned-int)
+  (org-table-length :unsigned-int)
+  (db-length :unsigned-int)
+  (catalog-length :unsigned-int)
+  (def-length :unsigned-int)
+  (flags :unsigned-int)
+  (decimals :unsigned-int)
+  (charsetnr :unsigned-int)
+  (type mysql-field-types))
+
 ;;; MYSQL-ROWS
 
 (uffi:def-array-pointer mysql-row (* :unsigned-char))
      (db :cstring)
      (port :unsigned-int)
      (unix-socket :cstring)
-     (clientflag :unsigned-int))
+     (clientflag :unsigned-long))
   :module "mysql"
   :returning (* mysql-mysql))
 
index bb4940e59d4cb29fe69cec1eb70ba7cac4e30d7f..e677c5a05204c683fb28aed70de7e62ace028424 100644 (file)
   t)
 
 (defmethod db-type-has-views? ((db-type (eql :mysql)))
-  ;; MySQL 4.1 will apparently have views, need to check *mysql-client-info*
-  nil)
+  #+mysql-client-v5.1 t
+  #-mysql-client-v5.1 nil)
 
 (defmethod db-type-has-subqueries? ((db-type (eql :mysql)))
-  ;; MySQL 4.1 will apparently have subqueries, need to check *mysql-client-info*
-  nil)
+  #+mysql-client-v4.1 t
+  #-mysql-client-v4.1 nil)
 
 (defmethod db-type-has-boolean-where? ((db-type (eql :mysql)))
   nil)
index faf94b5fe7805f302fc34b499660b8e78ef61569..59d9a69993d07a712307c1af28c88f371971eb59 100644 (file)
@@ -1,3 +1,9 @@
+cl-sql (2.11.4-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Sun, 30 May 2004 03:33:48 -0600
+
 cl-sql (2.11.3-1) unstable; urgency=low
 
   * New upstream
index 80d735c1ee07eed15b4a6d13f20d35116382477f..de8124d40432645443244ba0ea79e8b5c3b90b23 100644 (file)
   (with-slots (name args)
     expr
     (output-sql name database)
-    (when args (output-sql args database)))
+    (let ((*in-subselect* nil)) ;; aboid double parens
+      (when args (output-sql args database))))
   t)