From: Kevin M. Rosenberg Date: Sun, 30 May 2004 09:34:41 +0000 (+0000) Subject: r9525: 30 May 2004 Kevin Rosenberg X-Git-Tag: v3.8.6~349 X-Git-Url: http://git.kpe.io/?p=clsql.git;a=commitdiff_plain;h=e132f72fe34b078ca642ec99d1415f6b9511d598 r9525: 30 May 2004 Kevin Rosenberg * 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. --- diff --git a/ChangeLog b/ChangeLog index 0aa7933..5d538c3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,9 @@ -29 May 2004 Kevin Rosenberg +30 May 2004 Kevin Rosenberg + * 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 * Version 2.11.3 diff --git a/db-mysql/mysql-api.lisp b/db-mysql/mysql-api.lisp index c27a50e..196a823 100644 --- a/db-mysql/mysql-api.lisp +++ b/db-mysql/mysql-api.lisp @@ -118,7 +118,7 @@ (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)) @@ -131,6 +131,29 @@ (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)) @@ -269,7 +292,7 @@ (db :cstring) (port :unsigned-int) (unix-socket :cstring) - (clientflag :unsigned-int)) + (clientflag :unsigned-long)) :module "mysql" :returning (* mysql-mysql)) diff --git a/db-mysql/mysql-sql.lisp b/db-mysql/mysql-sql.lisp index bb4940e..e677c5a 100644 --- a/db-mysql/mysql-sql.lisp +++ b/db-mysql/mysql-sql.lisp @@ -442,12 +442,12 @@ 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) diff --git a/debian/changelog b/debian/changelog index faf94b5..59d9a69 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-sql (2.11.4-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Sun, 30 May 2004 03:33:48 -0600 + cl-sql (2.11.3-1) unstable; urgency=low * New upstream diff --git a/sql/expressions.lisp b/sql/expressions.lisp index 80d735c..de8124d 100644 --- a/sql/expressions.lisp +++ b/sql/expressions.lisp @@ -379,7 +379,8 @@ (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)