r11657: 25 Apr 2007 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / ChangeLog
index d80de2ccbc10a14acd552eec7925809af6d6b3d9..3c147c456d1da1a2d67420206d369f409132eb49 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,428 @@
+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.
+       
+05 Jul 2005  Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.1
+       * doc/appendix.xml: Incorporate Edi Weitz's notes into documentation
+       with changes to support case-sensitive lisp implementations. Add
+       paragraph on using /etc/clsql-init.lisp site initialization file.
+       * clsql.asd: Load file /etc/clsql-init.lisp, if it
+       exists, after package is loaded to set site-specific configuration
+       
+2005-06-24  Edi Weitz  <edi@agharta.de>
+       * sql/db-interface.lisp: Added new special variable
+       *FOREIGN-LIBRARY-SEARCH-PATHS* and function PUSH-LIBRARY-PATH to
+       manipulate it.
+       * sql/package.lisp: Export these.
+       * uffi/clsql-uffi-loader.lisp: Used new variable; changed order of
+       libs.
+       * db-mysql/mysql-loader.lisp: Changed order of libs.
+
+09 Jun 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.2.0: REQUIRES UFFI VERSION 1.4.38 OR HIGHER
+       * clsql-mysql.asd: Renamed clsql/mysql interface library from
+       mysql to clsql_mysql
+       * clsql-uffi.asd: Renamed clsql/uffi interface library from
+       mysql to clsql_uffi
+       * uffi/clsql_uffi.c: Renamed from uffi.c
+       * db-mysql/clsql_mysql.c: Renamed from mysql.c
+       * db-mysql/Makefile, db-mysql/Makefile.msvc, db-mysql/mysql-loader.lisp: Rename shared library
+       * uffi/Makefile, uffi/Makefile.msvc, uffi/uffi-loader.lisp: Rename shared library
+       * db-*/*-loader.lisp: Commit big patch from Edi Weitz to remove
+       absolute pathnames when searching for foreign libraries.
+       foreign library loading.
+       
+07 Jun 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.1.16
+       * db-mysql/mysql-api.lisp: Commit patch from Espen Wiborn
+       to support UTF-8 on sbcl unicode.
+       
+18 May 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.1.15
+       * sql/time.lisp: Fix bug in roll that caused failure in test suite
+
+17 May 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.1.14
+       * sql/oodml.lisp: Properly handle when db-writer is NIL
+
+11 May 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/expressions.lisp: Avoid using simple-string declaration when
+       a non-simple string may be encountered. [issue noted by 
+       will@cesmail.net] Add a simple-string declaration for a local
+       string generated.
+       
+06 May 2005 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Change db-writer and db-reader processing to accept
+       a symbol as well as function to serve as a function designator
+       [issue noted by will@cesmail.net]
+
 05 May 2005 Kevin Rosenberg <kevin@rosenberg.net>
        * Version 3.1.13
        * sql/time.lisp: Fix error in submitted patch which caused error
          for MYSQL structure. This will make the code more robust in
          the event that MySQL library changes the size of the mysql-mysql
          structure.
-
-