14 Sep 2007 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / ChangeLog
index 3b5c4b0ce1a77d8ae104c5b79c7d00f025336ef3..96e68cfd4257c4d22fedc7b143c8d284aaee33bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,128 @@
+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
+       the pool to ensure the connection still works. Currently, implemented
+       only for MySQL.
+
+17 Jan 2007  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/Makefile: Add potential mysql directories
+
+31 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclasses.lisp: Remove usused saved-initargs
+       * clsql.asd: Also check ~/.clsql-init.lisp at load-time (usually used to
+       push search libraries)
+       
+30 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.8.0: BACKWARD INCOMPATABLE CHANGE!
+       * db-postgresql/postgresql-{api,loader,sql,package}.lisp:
+       Apply patch from Edi Weitz to avoid conflict with new Lispworks 5
+       POSTGRESQL package name. CLSQL's new package will be PGSQL, however
+       on non-Lispworks platforms, the nickname POSTGRESQL will still be
+       available. Applications directly using low-level POSTGRESQL package
+       are recommended to use the new PGSQL name.
+       * db-oracle/oracle-{api,sql}.lisp, sql/{expressions,loop-extension}.lisp,
+       Apply patch from Edi Weitz to reduce compiler warnings.
+       
+28 Dec 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.9
+       * sql/expressions.lisp: Commit patch from Edi Weitz to
+       use *default-database* for SQL-OUTPUT if no database is
+       explicitly passed to function.
+       * uffi/clsql-uffi-loader.lisp: Change load order to first try
+       plain name/type before attempting user-specified paths (patch
+       from Edi Weitz)
+       * uffi/ptrbits.c: New file to return number of bits in an pointer
+       * uffi/Makefile: use intbits to name .so file based on bit size.
+       Build both 32-bit and 64-bit libraries on 64-bit platform.
+       
 30 Nov 2006  Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.7.8
        * db-sqlite3/sqlite3-sql.lisp: Commit patch from Edi Weitz fixing