New file clsql-cffi.asd
[clsql.git] / ChangeLog
index 5e08782e01ff8908e729a4c9d420f569b30a89a2..ce425a366ba19d3744fc91f0a3c59d6eef9d255a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,243 @@
+2010-01-29  Kevin Rosenberg <kevin@rosenberg.net
+       * clsql-cffi.asd: New file that causes CLSQL to use
+       CFFI-UFFI-COMPAT library rather than UFFI. Perform 'asdf:load-op
+       on this system rather than clsql to use CFFI-UFFI-COMPAT.
+
+2010-01-29  Nathan Bird  <nathan@acceleration.net>
+       * tests/*.lisp: A lot more tests and test setup tweaks.
+       * sql/expressions.lisp: output-sql on sql-relational-exp does
+       better arity checking now. (apply #'sql-and some-list) gives
+       better results.
+
+29 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Fix for UPDATE-RECORD-FROM-SLOTS for normalized
+       view classes
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.3.2
+       * Change "normalise" from British spelling for consistency with
+       other American spellings in CLSQL.
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/Makefile: Add directory for Fedora 11/12 on 64-bit
+       platform (Thanks to Michael Pheasant) and remove a 32-bit directory
+
+28 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.3.1
+       * sql/utils.lisp: Ensure Lispworks 6 lock is created in sharing mode
+
+20 Jan 2009  Nathan Bird <nathan@acceleration.net>
+       * Version 4.3.0
+       * Rewrite tests to use datasets
+
+07 Jan 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/utils.lisp: Changes to support Lispworks 6
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.2.0
+       * doc/ref-ooddl.lisp: Add needed CDATA escapes
+       * doc/clsql.pdf, doc/html.tar.gz: Build new manuals with
+       normalized view classes.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       Large patch from Thijs Oppermann <thijso+clsql@gmail.com> to add
+       support for normalized view classes.  When having view class that
+       inherit from others, CLSQL by default builds tab all the columns
+       from the parent in the child. This patch is meant to normali so
+       that a join is done on the primary keys of the concerned tables to
+       get a set.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/time.lisp: Patch from Oleg Tihonov to SYNTAX-PARSE-ISO-8601
+       to properly parse fractions of seconds.
+
+10 Dec 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/time.lisp: Patch from Oleg Tihonov to roll function
+       to properly use USEC argument.
+
+21 Nov 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.2
+       * Makefiles: On 64-bit Linux systems, try to build both 32 and 64-bit
+       interface libraries. This requires the installation of multiarch build tools
+       as well as 32-bit support libraries (libc, libz and libmysqlclient).
+
+04 Sep 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.1
+       * sql/fdml.lisp: Rework do-query to use supplied database
+       parameter when passed a sql-object-query
+       (thanks to JTK <jetmonk@gmail.com>)
+       * sql/generic-postgresql.lisp: Allow optional connect
+       parameters for postgresql databases (thanks to Stephen Compall)
+       * doc/ref-{clsql,connect}.xml, sql/db-interfaces.lisp:
+       Fix transposed letters (thanks to Stephen Compall)
+       * db-mysql/Makefile: Add directory for MacPorts mysql5 port
+       (thanks to Stephen Compall)
+       * sql/database.lisp: Have database-type default be
+       *default-database-type* (thanks to Desmond O. Chang)
+       * sql/transactions.lisp: Improved handlining of nested
+       transactions (thanks to Eli Naeher)
+       * sql/time.lisp: Commit patch to fix parse-iso-8601-duration
+       (thanks to Stephen Compall)
+       * sql/database.lisp: Use :verbose nil for asdf:operate
+       invocation (Thanks to Mackram Raydan)
+       * sql/metaclasses.lisp: Rework initialize-instance for
+       view-class-direct-slot-definition (thanks to Stephen Compall)
+
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/db-interface.lisp: Fix spelling error (thanks to
+       David Thompson)
+       * clsql-mysql.asd/db-mysql/mysql-loader.lisp: Commit
+       patch from Andreas Franke to honor windows drive letter
+       when loading clsql_mysql C library.
+
+31 Aug 2009  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.1.0
+       * db-mysql/mysql-{sql,api}.lisp,db-mysql/clsql_mysql.c:
+       Latest version of mysqlclient once again changed the C
+       structures from which the mysql backend reads data.
+       Rather than adding yet another structure definition which
+       is enabled by the client version as read by mysql-client-info.lisp,
+       the mysql backend has been re-written to ignore in the internal
+       C structures. Instead, C wrapper functions for slot access have
+       been added to clsql_mysql.c and are used by mysql-sql.lisp to
+       access the internals of C structures. This adds a bit of overhead,
+       but completely separates the lisp code from trying to keep up
+       with the continually changing internal C structure of mysql.
+       All tests in the test suite executed correctly with this change.
+
+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
+       a pool (thanks to Ralf Mattes).
+
+25 Feb 2008  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.4
+       * sql/expressions.lisp: Remove stray form (thanks to Samuel Ward)
+
+12 Dec 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/expressions.lisp: Bind *in-subselect* when outputting
+       selections (patch from unknown source).
+       
+11 Dec 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.3
+       * sql/metaclasses.lisp: Unify base-table processing by extracting 
+       the correct code from initialize-instance :around into the helper
+       function set-view-table-slot. Call that function also in
+       reinitialize-instance :around replacing erroneous code discovered
+       by Josh Feinstein.
+       
+17 Nov 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * BUGS: Add note about benefit of using configure file to create
+       Makefiles (suggestion from Joe Corneli)
+       
+22 Oct 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.2
+       * db-postgresql/postgresql-sql.lisp: Patch from Gabriele Favalessa based on
+       Andrew Golding suggestion for more informative :error-id slot.
+       
+17 Sep 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.1
+       * db-mysql/mysql-sql.lisp: Convert query to uffi cstring (thanks to
+       Albert Krewinkel).
+       * doc/Makefile, doc/html.xsl: Change output encoding from ISO-8859-1 to UTF-8
+       
+14 Sep 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 4.0.0: Major version increase to warn of potential
+       backwards incompatibility.
+       * NEWS: Document potentional backward incompatible changes
+       * db-mysql/mysql-sql.lisp: Changes session SQL mode to ANSI immediately
+       after connecting. This may break compatibility with some applications
+       who are using non-ANSI features with MySQL. This change is required to
+       properly support view-classes using a string as their :base-table
+       attribute. This allows users to specify the case of table names. 
+       This is feature is even more essential for MySQL itself since MySQL
+       uses case-sensitive table names. Use connection-based database-create
+       and database-destroy rather than trying to invoke command-line mysql 
+       utility. Remove automatic upcasing of strings from list-indices. 
+       * db-postgresql/postgresql-sql.lisp: Use connection-based 
+       database-create and database-destroy rather than trying to invoke
+       command-line utilities.
+       * db-postgresql-socket/postgresql-socket-sql.lisp: Use
+       database-execute-command rather than execute-command for
+       database-{create,destroy}. Connect to postgres database
+       rather than template1 for those database creation/deletion.
+       * sql/metaclasses.lisp: Store the string value of :base-table if a 
+       string is provided. Perform sql-escape at time of view-table name
+       creation.
+       * tests/test-init.lisp: Use "ej_join" as a string, rather than a 
+       symbol, since "ej_join" is specified as :base-table. Clear the
+       expression output-cache in case the code for generating sql output
+       has changed.
+       * test/test-oodml.lisp: whitespace fix
+       * sql/ooddl.lisp: Use quoted string for primary key constraint if
+       table name is specified as a string.
+       * sql/oodml.lisp: Don't convert a string view-table name to database's 
+       default case.
+       * sql/expressions.lisp: Properly handle table and attribute identifiers
+       when they are a string. Do not change case of symbols to match database
+       default case.
+       * sql/operations.lisp: Change multiword symbols to upper case.
+       * sql/fddl.lisp: Quote base-table if a string to preserve case
+       for drop-table and create-table.
+       * tests/test-syntax.lisp: Add tests of low-level string attribute
+       identifiers.
+       
+20 Jul 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.6
+       * db-oracle/oracle-loader.lisp: Rework use of ORACLE_HOME directory
+       (problem noted on clsql-devel by icardo Boccato Alves)
+       * sql/pool.lisp: Remove incorrect keyword
+       * sql/database.lisp: Rework WITH-DATABASE to not make the database the
+       default database (reported by Saurabh Nanda and Chaitanya Gupta)
+       * doc/ref-connect.lisp: Update the documentation to WITH-DATABASE to
+       emphasis that make-default has a default value of nil.
+       * sql/transaction.lisp: Adjust commit/rollback messages for Microsoft
+       SQL Server. (patch from Nathan Bird)
+       * sql/metaclasses.lisp: Use finalize-inheritance hack on SBCL because
+       of trouble with def-view-class compilations (patch from Nathan Bird)
+       
+15 Jul 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.5
+       * db-mysql/mysql-loader.lisp: Revert previous change since libmysql is
+       not dynamically loaded on Windows
+       
+22 Jun 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.4
+       * db-mysql/mysql-loader.lisp: Do not bother loading libmysqlclient since
+       that library is dymically linked to clsql-mysql library. Thus, the mysql
+       library will be automatically loaded. This has only been tested on Linux,
+       thus far.
+
+29 May 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/test-fddl.lisp: Add :order-by for :fddl/big/1 as
+       reported by Ricardo Boccato Alves
+
+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
+       * db-sqlite3/sqlite3-api.lisp, uffi/clsql-uffi-loader.lisp:
+       Apply patches from Marcus Pierce to reduce load-time warnings
+       * sql/package.lisp: Export iso-timestring as requested by Kevin Blaisdell
+
+23 Mar 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.2
+       * sql/db-postgresql-socket-api.lisp: Change read-socket-sequence to
+       disable wide characters for crypt salt sequence on SBCL, based
+       on patch from Lars Nostdal.
+
 26 Jan 2007  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.8.1
        * sql/pool.lisp: Test pooled connection when popped from