X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=ChangeLog;h=d89b2ab48a696d96ee4b15021ebb92da370dfc39;hp=22d13c3b77a4340f9a800585d0182cba031ee74f;hb=1a446890f95ab363af82529a133546d722ef21b1;hpb=9d6ec50020109467ff766ad753a4194ee756b1b9 diff --git a/ChangeLog b/ChangeLog index 22d13c3..d89b2ab 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,405 @@ +2011-06-20 Nathan Bird + * Version 5.3.4 + * db-postgresql-socket/postgresql-socket-api.lisp: Addendum + to Otto Diesenbacher's patch that had a spurious write a 0 + byte (to terminate string) that should have been just CCL. + +2011-06-12 Kevin Rosenberg + * Version 5.3.3 + * db-postgresql-socket/postgresql-socket-api.lisp: + Patch from Otto Diesenbacher for UTF8 encoded strings + for CCL. FIXME: The best patch would be to use the + user-set encoding from the database object and use + UFFI's encoding strings to/from octet vectors rather + than SB-UNICODE and CCL specific code in this file. + +2011-04-21 Kevin Rosenberg + * sql/generics.lisp: Add defgeneric for new + database-last-auto-increment-id + +2011-04-01 Kevin Rosenberg + * Version 5.3.2 + * db-mysql/mysql-client-info.lisp: Add recognition of + version 6 of MySQL client library. + * sql/metaclass.lisp: Fix the fix in the reader conditional + +2011-03-30 Kevin Rosenberg + * Version 5.3.1 + * sql/metaclasses.lisp: Fix previous patch to work + on non-SBCL systems + +2011-03-29 Kevin Rosenberg + * Version 5.3.0 + * sql/metaclasses.lisp: Apply one-line patch to fix + for newer SBCL (thanks to Nikodemus Siivola) + * many_files: Applied multiple patches from Holger Schauer + to improve autoincrement capability. + +2010-10-24 Kevin Rosenberg + * Version 5.2.0 + * db-odbc/odbc-api.lisp: Change from SBCL-specific + to UFFI version of octets-to-strings. Reported by + Daniel Brunner + * sql/oodml.lisp: Apply patch from Rupert Swarbrick + : Fix behaviour with auto-inc + primary keys. + * sql/expressions.lisp, tests/test-syntax.lisp: Apply + patch from Russ Tyndall to quote identifiers with space + or special character. + +2010-09-20 Kevin Rosenberg + * Version 5.1.4 + * sql/{pool,database}.lisp: Pass encoding argument to + connections made from pool and with reconnect. + +2010-08-16 Kevin Rosenberg + * Version 5.1.3 + * db-odbc/odbc-{api,dbi}.lisp: Commit patch from + Memet Bilgin to fix issue with unicode and ODBC. + +2010-08-16 Kevin Rosenberg + * Version 5.1.2 + * uffi/clsql-uffi.lisp: Commit patch from JT Klein fixing + invocation of uffi:convert-from-foreign-string macro. When + time allows, I'll investigate changing UFFI's macro to + a function call and then revert this patch. + +2010-06-15 Kevin Rosenberg + * Version 5.1.1 + * clsql-{uffi,mysql}.asd: Modify operation-done-p functions + to guard against change introduced in new ASDF traversing. + +2010-04-20 Kevin Rosenberg + * Version 5.1.0 [DEPENDENCY UPGRADE: UFFI 2.x needed] + * clsql-uffi.asd: Depend on UFFI version >= 2.0 + to support foreign encoding of strings. + +2010-04-16 Kevin Rosenberg + * Version 5.0.6 + * db-postgresql.lisp, sql/fddl.lisp: Fix typos [Thanks to + Walter C. Pelissero] + * sql/metaclasses.lisp: Work around type-check-function being set + during defclass expansion in SBCL [Thanks to Walter C. Pelissero] + * uffi/clsql-uffi.lisp: In call to uffi:convert-from-foreign-string, + Set null-terminated-p to T when length not specified. + [Thanks to Walter C. Pelissero] + +2010-03-21 Kevin Rosenberg + * Version 5.0.5 + * sql/fdml.lisp: Fix DO-QUERY to actually return the last value of + the body. + +2010-03-02 Nathan Bird + * doc/: Added a README on how to build doc; now builds on Ubuntu. + * sql/oodml.lisp: READ-SQL-VALUE now has explicit method for + handling double-floats and the default method will no longer + attempt to convert values that have already been converted. + * sql/syntax.lisp: Introduce file-enable-sql-reader-syntax which + enables the syntax for the scope of the file without trying to + keep track of the current syntax state. + * sql/pool.lisp: Introduce + clsql-sys:*db-pool-max-free-connections* which is a heuristic + threshold for when to disconnect a connection rather than + returning it to the pool. + * sql/pool.lisp: Check connections for validity before returning + to the user. + +2010-03-01 Kevin Rosenberg + * db-mysql/mysql-api.lisp: Remove spurious enumeration + +2010-02-16 Kevin Rosenberg + * Version 5.0.4 + * db-mysql/mysql-api.lisp: Fix mysql_options UFFI parameter list + * doc/ref-connect.xml: Document the MySQL options parameter as + part of the connection-spec. + +2010-02-15 Kevin Rosenberg + * db-mysql/mysql-{api,sql}.lisp: Support sending options + to MySQL using mysql_options, which occurs between the API calls + of mysql_init and mysql_real_connect. + +2010-02-11 Kevin Rosenberg + * Version 5.0.3 + * multiple-files: Further internationalization. Change + UFFI:CONVERT-RAW-FIELD and UFFI:CONVERT-FROM-FOREIGN-STRINGS + invocations to use the foreign character set encoding of the + database object. Requires UFFI v.1.8.6 + * Makefile.common: Fix OS_DARWIN64 setting + +2010-02-11 Nathan Bird + * MSSQL: better support for fddl 'date type. + +2010-02-11 Kevin Rosenberg + * Makefile.common, uffi/Makefile, db-mysql/Makefile: + Better support OS X Snow Leopard by building universal + (x86_64,i386) dylib bundles + +2010-02-08 Kevin Rosenberg + * Version 5.0.2 + * sql/database.lisp: Fix missing slot-accessor + (Thanks to Stelian Ionescu) + * sql/generics.lisp: Add missing keyword to defgeneric + (Thanks to Stelian Ionescu) + +2010-02-07 Kevin Rosenberg + * Version 5.0.1 + * sql/{base-classes,database}.lisp: Add encoding slot for + non-ASCII strings. + * db-mysql/mysql-sql.lisp: Use UFFI:FOREIGN-ENCODED-OCTET-COUNT. + Requires UFFI version 1.8.2 or above. + +2010-02-06 Kevin Rosenberg + * Version 5.0.0: First release of CLSQL to formally and + consistently support non-ASCII strings with encoding of external + formats for SQL strings. UFFI version 1.8.1 is higher is required. + + This change may introduce some differences in string handling for + people who are using non-ASCII encoded characters. Thus, because + of the risk of BACKWARD INCOMPATIBILITY, the major version number + was incremented with this release. + +2010-02-06 Kevin Rosenberg + * tests/test-i18n.lisp: Bind UFFI:*DEFAULT-EXTERNAL-FORMAT* + for testing multibyte encodings. + * uffi/clsql-uffi.lisp: Changes for UFFI 1.7.4's new support + for encoding foreign strings with a specified external format. + +2010-02-06 Kevin Rosenberg + * sql/metaclasses.lisp: If no declared slot type in + compute-lisp-type-from-specified-type, then use t as lisp type. + Issue noted when testing Clozure CL 1.4. + +2010-02-06 Kevin Rosenberg + * tests/test-init.lisp: Turn off the benign console notices for + testing on postgres. + +2010-02-05 Kevin Rosenberg + * clsql-test.asd, tests/{test-i18n,test-init}.lisp: + Load test-i18n.lisp and use its tests as long as 'uffi:no-i18n is + not present in cl:*features*. This requires UFFI 1.7.2 or above. + +2010-02-05 Kevin Rosenberg + * sql/utils.lisp: Reading #\no-break_space causes an + error for non-unicode SBCL. Conditionalize read of + #\no-break_space for non-unicode SBCL and 8-bit string + Allegro. + +2010-02-03 Kevin Rosenberg + * tests/test-init.lisp: Add *test-report-width* variable + and word-wrap skipped test reason field. + +2010-01-29 Kevin Rosenberg + * Version 4.3.3 + * clsql-cffi.asd: New file that causes CLSQL to use + CFFI-UFFI-COMPAT library rather than UFFI. Perform 'asdf:load-op + on CLSQL-CFFI rather than CLSQL system to use CFFI-UFFI-COMPAT. + +2010-01-29 Nathan Bird + * 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 + * sql/oodml.lisp: Fix for UPDATE-RECORD-FROM-SLOTS for normalized + view classes + +28 Jan 2009 Kevin Rosenberg + * Version 4.3.2 + * Change "normalise" from British spelling for consistency with + other American spellings in CLSQL. + +28 Jan 2009 Kevin Rosenberg + * 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 + * Version 4.3.1 + * sql/utils.lisp: Ensure Lispworks 6 lock is created in sharing mode + +20 Jan 2009 Nathan Bird + * Version 4.3.0 + * Rewrite tests to use datasets + +07 Jan 2009 Kevin Rosenberg + * sql/utils.lisp: Changes to support Lispworks 6 + +10 Dec 2009 Kevin Rosenberg + * 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 + Large patch from Thijs Oppermann 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 + * sql/time.lisp: Patch from Oleg Tihonov to SYNTAX-PARSE-ISO-8601 + to properly parse fractions of seconds. + +10 Dec 2009 Kevin Rosenberg + * sql/time.lisp: Patch from Oleg Tihonov to roll function + to properly use USEC argument. + +21 Nov 2009 Kevin Rosenberg + * 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 + * Version 4.1.1 + * sql/fdml.lisp: Rework do-query to use supplied database + parameter when passed a sql-object-query + (thanks to JTK ) + * 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 + * 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 + * 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 + * 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 + * 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 + * Version 4.0.4 + * sql/expressions.lisp: Remove stray form (thanks to Samuel Ward) + +12 Dec 2007 Kevin Rosenberg + * sql/expressions.lisp: Bind *in-subselect* when outputting + selections (patch from unknown source). + +11 Dec 2007 Kevin Rosenberg + * 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 + * BUGS: Add note about benefit of using configure file to create + Makefiles (suggestion from Joe Corneli) + +22 Oct 2007 Kevin Rosenberg + * 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 + * 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 + * 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 + * 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 * Version 3.8.5 * db-mysql/mysql-loader.lisp: Revert previous change since libmysql is not dynamically loaded on Windows - * debian/control: Add libmysqlclient15-dev as dependency for cl-sql-mysql - since clsql-mysql modules depends on finding the .so files to load 22 Jun 2007 Kevin Rosenberg * Version 3.8.4