r11657: 25 Apr 2007 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / ChangeLog
index 04c934568ecc536d2af200948589dac90a13de9e..3c147c456d1da1a2d67420206d369f409132eb49 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,369 @@
+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
+       error display
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.7
+       * db-postgresql/postgresql-sql.lisp: Remove 
+       uffi:convert-foreign-to-native wrapper since using cstring for
+       PQresultErrorField
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.6
+       * db-postgresql/postgresql-api.lisp: Fix UFFI return type for
+       PQresultErrorField foreign function.
+
+16 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.5
+       * doc/intro.xml: Update supported platforms.
+       * db-postgresql/postgresql-{package,api,sql}.lisp: Apply
+       changes from Andew Golding to use a more-specific error code
+       from PostgreSQL than the generic fatal error code of the result set.
+
+03 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Commit patch from Marcus Pearce to improve
+       readtable modifications
+
+02 Oct 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Check that original reader syntax functions
+       stored before trying to restore them.
+       
+20 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/syntax.lisp: Apply patch from Marcus Pearce to correctly
+       display sql reader syntax.
+
+06 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * uffi/clsql-uffi-loader.lisp, db-mysql/mysql-loader.lisp: Change from using *features*
+       to decide on 64-bit platform and check size of most-positive-fixnum instead.
+       Needed to support clisp amd64.
+
+03 Sep 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.1
+       * sql/metaclasses.lisp: Rework slot type's to be more AMOP
+       compatibile. Add warning for a metaclass condition that should
+       not occur.
+       * sql/time.lisp: Fixed symbol case inconsistency causing problem
+       in AllegroCL's modern lisp. First sign of bug noted by
+       Joel Reymond on clsql-devel.
+       * clsql.asd: Make time.lisp depend on utils.lisp
+
+31 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql-loader.lisp: Apply patch from Marcus Pearce to push 
+       *library-file-dir* to CLSQL's library path.
+
+30 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.7.0: New platforms supported: SBCL/Win32, CLISP/Win32, CLISP/Cygwin,
+       CLISP/Linux x86, CLISP/Linux amd64, OpenMCL amd64. CLISP support requires the
+       latest development versions of CLISP, cffi, and cffi-uffi-compat packages.
+       * Makefile.common: Add OS detection
+       * uffi/make.sh, db-mysql/make.sh: Remove files
+       * uffi/Makefile, db-mysql/Makefile: Add support for cygwin compilation.
+       Refactor to remove need to make.sh shell scripts. 
+       * clsql.asd: Add support for loop extensions for clisp. Support clisp via cffi.
+       * sql/loop-extension.lisp: Define loop-record-iteration-path in CLSQL-SYS 
+       package rather than CL-USER. Add support for ansi-loop on clisp. 
+       * sql/ansi-loop.lisp: New file to support iteration on clisp. 
+       * db-mysql/mysql-api.lisp: Remove old mysql C API functions that no
+       longer exist in the mysql client library.
+       * doc/ref-fdml.lisp: Correct default field-type.
+       * sql/expressions.lisp: Use database-output-as-type if value exists for boolean output.
+       Fixed bug with noted with MySQL 5.0.24 and boolean values.
+       
+28 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.7
+       * sql/oodml.lisp: Remove high debugging level declaration
+
+14 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.6
+       * sql/generic-postgresql.lisp: Fix assumption that postgres user id
+       is always 1. Fixes problem noted with PostgreSQL 8.1.
+
+12 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.5
+       * sql/generic-postgresql.lisp: Add slot for has-table-pg_roles to
+       lazily cache if pg_roles tables exist. Selectively use SQL from
+       Joel's previous patch if pg_roles table exists. Should now work
+       with both postgresql 7.4 and 8.x.
+       
+12 Aug 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.4
+       * clsql.asd: Add support for c:\etc\clsql-init.lisp as possible
+       local initialization file
+       * db-mysql/mysql-loader.lisp: Remove former method of using pathnames
+       as name candidates.
+       * db-odbc/odbc-api.lisp: Work-around Allegro/Windows FFI bug
+       that generates incorrect integer return type
+       * sql/generic-postgresql.lisp: Revert patch from Joel Reymont since
+       it fails on versions of postgresql that lack the pg_role table
+       
+07 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.3
+       * sql/transactions.lisp: Important typo fix from Alexey Antipov
+       for database-start-transaction
+       
+04 Jul 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.6.2
+       * db-postgresql/postgresql-sql.lisp: Apply patch from Vladimir Sekissov
+       to close connection when failing to connect to database.
+       * sql/generic-postgresql.lisp: Apply patch from Joel Reymont
+       to avoid dropping system views.
+       * sql/oodml.lisp: Apply patch from Joel Reymont to avoid listify
+       a nil value [patch sponsored by Flektor]
+       * clsql-uffi.asd, uffi/make.sh: Patch from Richard Kreuter
+       for netbsd compilation
+       
+15 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-ooddl.xml: Add documentation for :db-reader and :db-writer
+       slots for def-view-class macro [as reported missing by Thomas Fischbacher].
+       
+09 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * db-postgresql-socket/postgresql-socket-api.lisp:
+       Apply patch from Marko Kocic adding the socket creation
+       function needed for CLISP.
+
+08 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version: 3.6.0 (requires UFFI v1.5.11 or greater)
+       * db-oracle/metaclasses.lisp: Patch from James Bielman for
+       checking slot constraints.
+       * db-oracle/oracle-{api,sql}.lisp: Avoid dead pointers on loading
+       saved openmcl images (based on patch from James Bielman)
+
+06 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-fdml.xml: Documentation patch from Marcus Pearce for limit keyword
+       
+03 May 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.7
+       * sql/time.lisp: Apply patch from Aleksandar Bakic to extended
+       duration parsing and unparsing to include year and month.
+       * clsql-uffi.asd, uffi/clsql-uffi-loader.lisp: Apply patch from Nathan Bird
+       improving library search on Windows platform.
+       * doc/ref-fdml.xml, /doc/TODO, tests/test-fdml.lisp, tests/test-init.lisp:
+       Apply patch from Marcus Pearce documenting and testing :limit and :offset for SELECT
+
+20 Mar 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.6
+       * clsql-postgresql-socket.asd, 
+       * db-postgresql-socket/postgresql-socket-package.lisp: 
+       Use the cl-md5 package on all platforms. Based on report 
+       from Alan Caulkins.
+       
+09 Mar 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.5
+       * uffi/make.sh, db-mysql/make.sh: Add GNU uname
+       
+28 Feb 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.4
+       * sql/metaclasses.lisp: Apply patch from Friedrich Dominicus to
+       fix accessor for new versions of SBCL
+       * db-oracle/oracle-sql.lisp: Apply patch from James Bielman
+       to improving parsing of time.
+       * db-db2/db2-constants.lisp: Change NULL_HANDLE has suggested
+       by Harold Lee.
+       * db-oracle/oracle-dbi.lisp: Add support for SQL BIT type
+       as noted by Russ Tyndall.
+       
+16 Jan 2006  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.3
+       * sql/time.lisp: Commit patch from Aleksandar Bakic
+       to properly handle destructive flag
+       * db-postgresql-socket/postgresql-socket-api.lisp: Apply patch
+       from Steven Harris for socket files with SBCL.
+       * sql/pool.lisp: Apply patch from Vladimir Sekissov so that
+       new connections added to the pool do not become the *default-database*
+       * sql/connect.lisp: Optionally set *default-database* for pooled
+       connection when make-default is generalized true.
+       
+23 Dec 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.1
+       * sql/expressions.lisp: Ensure table names are properly escaped
+       before comparing -- fixes bug reported by Asbjørn Bjørnstad
+       on CLSQL-Devel.
+
+02 Dec 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/generic-postgresql.lisp: improved decoding of table attribute
+         parameters [from Vladimir Sekissov]
+       * sql/metaclasses.lisp: check that metaclass is standard-db-class or
+         it's subclass to prevent adding standard-db-object to supers if
+         somebody in the path has it already when metaclass inherited from
+         standard-db-class. [from Vladimir Sekissov]
+       
+26 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.5.0
+       * tests/test-init.lisp, tests/test-fddl.lisp, tests/test-fdml.lisp, 
+       * db-odbc/odbc-api.lisp, db-odbc/odbc-ff-interface.lisp,
+       * db-odbc/odbc-package.lisp, db-odbc/odbc-constants.lisp
+       * db-odbc/odbc-dbi.lisp, db-odbc/odbc-sql.lisp
+       * sql/fddl.lisp, sql/generic-odbc.lisp, sql/db-interface.lisp
+       * sql/transaction.lisp, sql/package.lisp, sql/time.lisp
+       Commit patch from Dominic Robinson providing support for 
+       Microsoft SQL Server
+       * doc/csql.lisp: Fix typo in slot name
+       
+24 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.7
+       * sql/time.lisp: Commit patch from Aleksandar Bakic for
+       correct handling of decode-time usec value  
+       * clsql-mysql.asd: Commit patch from Harald Hanche-Olsen to
+       correct the name of the shared library file.
+       
+16 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * version 3.4.6
+       * sql/metaclasses.lisp: Avoid calling change-class on
+       effective-slot-definitions on sbcl to conform to sbcl 0.9.6.38
+       changes.
+       
+15 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.5
+       * sql/expressions.lisp: Patch from James Biel to add subselects
+
+14 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.4 [ Requires UFFI 1.5.7+] 
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to fix lifetime of foreign strings for Oracle calls
+
+13 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.3
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to improve performance
+       
+12 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.2
+       * clsql-uffi.asd: Patch from James Biel improving loading
+       * db-oracle/oracle-{api,sql}.lisp: Patch from James Biel
+       to support 64-bit lisps
+       
+12 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4.1
+       * sql/expressions.lisp: Escape numbers to SQL strings
+       at expression level.
+       
+11 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.4: Add MySQL 5 support
+       * db-mysql/mysql-client-info.lisp: Recognize MySQL 5
+       * db-mysql/mysql-sql.lisp: Add support for views in MySQL 5
+       * doc/mysql-macosx-notes.txt: New document from Martin Brooks
+       
+7 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * src/time.lisp: Apply patch from Aleksandar Bakic for ROLL
+       function.
+       * BUGS: Added report for update-object-joins by Aleksandar Bakic
+       
+4 Nov 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.4 [UFFI >= 1.5.5 needed]
+       * db-odbc/odbc-api.lisp: Apply patch from Yaroslav Kavenchuk
+       to add missing #\' character.
+       * clsql.asd: Add support for CLSQLINIT environmental variable,
+       based on patch from Yaroslav Kavenchcuk. New version of UFFI
+       required.
+       
+30 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.3
+       * sql/oodml.lisp: Apply patch from Drew Crampsie to fix
+       update-objects-joins when using the :target-slot attribute
+       
+26 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.2
+       * sql/expressions.lisp: Avoid parenthesis on multiple group-by fields
+       as noted by Harald Hanche-Olsen.
+       * tests/test-syntax.lisp: Add test for multiple field group-by
+       
+25 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.1
+       * sql/time.lisp: Commit patch from Alan Shields to
+       display escape string on wall-time display only when *print-escape*
+       is true.
+       
+11 Oct 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclasses.lisp: Commit patch from Will to
+       properly set db-reader slot in effective-slot-definition
+       * sql/expressions.lisp: Commit patch from Alan Shields
+       adding make-load-form for sql-relational-exp
+       * sql/generic-postgresql.lisp: Commit patch from Aleksandar Bakic
+       adding support for new NUMBER type
+       
+17 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.3.0
+       * sql/time.lisp: Apply patch from Alan Shields adding DATE type.
+       * doc/ref-ooddl.xml: Documentation of new type
+       * notes/add-type-hints.txt: New file from Alan Shields
+       * sql/fddl.lisp: Add owner keyword to drop-table as suggested
+       by Francis Leboutte
+       * db-postgresql-socket/postgresql-socket-sql.lisp: Fix database-probe
+       as noted by Francis Leboutte. Similar fix applied to db-mysql and
+       db-postgresql.
+       * sql/expressions.lisp: Allow string table names for output as
+       contributed by Francis Leboutte.
+       * examples/clsql-tutorial.lisp: Support :postgresql-socket as noted 
+       by Francis Leboutte
+       
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.4
+       * doc/into.xml: Change download from ftp to http protocol
+
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.3
+       * db-oracle/oracle-sql.lisp: Correction for v3.2.2 changes by
+       Edi Weitz
+
+08 Sep 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.2
+       * db-oracle/oracle-sql.lisp: Add check for zero increment as
+       suggested by Edi Weitz. Add missing database-sequence-last function
+       as noted and tested by Edi Weitz. Ensure that UFFI buffer is freed
+       in handle-oci-error. Add unwind-protect to sql-stmt-exec. Free UFFI
+       stmthp object when query cursor is freed with OCI.
+
 22 Aug 2005  Kevin Rosenberg <kevin@rosenberg.net>
        * uffi/clsql-uffi-loader.lisp: Commit patch from astor@pvv.ntnu.no to
        display search path when error occurs loading foreign library.
          for MYSQL structure. This will make the code more robust in
          the event that MySQL library changes the size of the mysql-mysql
          structure.
-
-