r10146: 09 Nov 2004 Kevin Rosenberg <kevin@rosenberg.net>
[clsql.git] / ChangeLog
index 30003681d31df24262520ef415566005ebb6b61e..edf6b8a21077ea7f9cb8a6fddb6b5ffa2388c894 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,946 @@
+09 Nov 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/operations.lisp: Add lower and upper SQL
+       functions from Daniel Lowe.
+       
+08 Nov 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/expressions.lisp: Fix slot name [thanks to
+       Daniel Lowe]
+
+31 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * clsql-sqlite3, db-sqlite3/*: NEW BACKEND
+       contributed by Aurelio Bignoli
+
+23 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Commit patch from Walter Pelis
+       to use an object's database for a select on its slot.
+       
+20 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * uffi/uffi.c, uffi/clsql-uffi.lisp: Commit patch from
+       Aurelio Bignoli to fix negative 64-bit integers
+       
+07 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql.c: Fix parameters in bind_param call
+
+07 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * uffi/clsql-uffi.lisp: Add support for :blob result-type
+       * db-mysql/mysql-sql.lisp: Add support for :blob
+       result-type
+       
+04 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/mysql-sql.lisp, db-db2/db2-sql.lisp: Add
+       missing quotes for types in code that is still in development
+       (thanks to Joerg Hoehle)
+       
+03 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.8 released
+       * db-sqlite/sqlite-*.lisp: Apply patch from
+       Aurelio Bignoli with improvements
+       
+01 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * multiple: Apply patch from Joerg Hoehle with multiple
+       improvements.
+       
+01 Oct 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.7 released
+       * sql/oodml.lisp, sql/package.lisp, db-mysql/mysql-objects.lisp:
+       Add support for mediumint.
+       * sql/metaclass.lisp: Rework CLISP MOP handling
+       * sql/ooddl.lisp: Work-around to have CLISP finalize standard-db-class
+       
+28 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/metaclass.lisp: Support CLISP's attribute name
+       for the type field in direct class slots
+       
+27 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.6 released
+       * BUGS: New file. Document suspected SIGPIPE
+       interaction between SBCL and libpq used in
+       postgresql backend.
+       * doc/ref-fdml.lisp: Document the :caching and :refresh
+       keywords of the SELECT function.
+       * doc/ref-ooddml.lisp: Document the new *default-caching*
+       variable.
+       * sql/package.lisp: Export *default-caching*
+       * sql/oodml.lisp: Use *default-caching* to 
+       control default caching behavior.
+       
+21 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.5 release
+       * doc/appendix.xml: Add note about loading Oracle8 version
+       * db-oracle/oracle-loader.lisp: Support Oracle8 based on
+       data from David Young.
+
+10 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/Makefile, doc/catalog-darwin.xml: Apply
+       patch from Cyrus Harmon for building docs on Mac OS X
+       * sql/package.lisp: Add new (pre-release) clisp MOP package     
+       
+09 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.4 Release
+       * multiple: Remove superfluous quotes in UFFI def-type
+       and def-foreign-type forms.
+       
+07 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.3 Release
+       * db-postgresql-socket/postgresql-socket-api.lisp: Commit patch
+       from Tagore Smith to call force-output after sending authentication
+       * db-odbc/odbc-api.lisp: Move ODBC v3 conversons
+       * db-odbc/odbc-sql.lisp: Load mysql or postgresql package when connecting
+       to a database of that type so that functions that indicate capabilities of
+       database are available.
+       
+02 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-odbc/odbc-api.lisp: More conversions to ODBC v3
+       
+02 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.2 Release
+       * TODO: Add note about ODBC on Windows
+       * db-odbc/odbc-loader.lisp: Add /winnt/system32/ to
+       search directories
+       * db-odbc/odbc-ff-interface.lisp: Change the return type 
+       of SQLSetEnvAttr to :short
+       
+02 Sep 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * examples/clsql-tutorial.lisp: added missing initarg for the COMPANYID
+       slot of the employee View Class definition [reported by Franz Deuzer]. 
+
+01 Sep 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.1 Release
+       * tests/test-init.lisp: Add second join class to employee-address
+       to test a class with two join slots.
+       * sql/oodml.lisp: Fix find-all function for a class with multiple
+       join slots
+       * TODO: Remove need to test/fix multiple join classes
+       
+27 Aug 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-mysql/Makefile, db-mysql/mysql-loader.lisp: accept patch
+       from Jon Buffington for file locations on Darwin.
+       
+17 Aug 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/db-interface.lisp: Improve messages when functions
+       are passed a database object, but the method is not specialized
+       for that database type.
+       * sql/metaclasses.lisp: Fix inline declaration (reported by
+       Cyrus Harmon)
+       
+14 Aug 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * TODO: Add bug report about SQL generation with a table
+       containing two join slots.
+       * sql/oodml.lisp: Add optional size to VARCHAR type
+       
+3 Aug 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 3.0.0 Release
+       * sql/expressions.lisp: Change declaration that
+       caused error on openmcl
+       * db-aodbc/aodbc-sql.lisp: Fix storage location
+       of odbc connection. Specialize database-query since
+       dbi's :types keyword is different than generic-odbc's
+       :result-types keyword
+       * sql/db-interface.lisp: Add warnings for methods
+       not specialized by a db backends
+       * tests/test-fddl.lisp: Fix case of symbols to support
+       case-sensitive Allegro 
+       * db-oracle/oracle-sql.lisp: Rework errbuf in handle-oci-error
+       * tests/test-init.lisp: Note that odbc driver for postgresql
+       doesn't properly handle table ownership
+       * LATEST-TEST-RESULTS: update with version 3.0.0
+       
+1 Aug 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/expressions.lisp: conditionalise escaping of backslash in 
+       generated SQL strings on backend. 
+       * tests/test-fdml.lisp: test for escaping of backslash. 
+       * sql/oodml.lisp: minor tidying in FIND-ALL. 
+
+26 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * NEWS: Initial 3.0 announcement draft
+       * README: Expand acknowledgements of incorporated projects
+       * CONTRIBUTORS: Further document Marcus Pearce contributions
+       
+23 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/oodml.lisp: add DATABASE-OUTPUT-SQL-AS-TYPE method specialisation
+       to print floats with the exponent markers removed. 
+       * tests/test-oodml.lisp: add tests for updating records with floats. 
+
+22 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * db-oracle/oracle-sql.lisp: enable :OWNER :ALL in DATABASE-LIST-* for 
+       CommonSQL compatibility. 
+       * tests/test-init.lisp: skip test :FDDL/TABLE/6 on Oracle since 
+       this column constraint syntax is not supported. 
+       * tests/test-fddl.lisp: change column indexed in test :FDDL/INDEXES/2
+       from EMPLID to LAST_NAME since Oracle complains that EMPLID is already 
+       indexed. 
+
+17 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * doc/ref-fdml.xml: document CACHE-TABLE-QUERIES. 
+       * tests/test-fdml.xml: add test for CACHE-TABLE-QUERIES. 
+       * doc/ref-ooddl.xml: minor changes to syntax and examples entries 
+       for uniformity. 
+       * doc/ref-oodml.xml: add examples for OODML. 
+       * sql/oodml.lisp: ensure SELECT passes on its REFRESH argument 
+       to FIND-ALL. 
+       * sql/metaclasses.lisp: update docstrings. 
+       * tests/test-init.lisp: change :db-constraints for emplid to 
+       (:not-null :unique) as a temporary test for multiple column constraints 
+       in DEF-VIEW-CLASS. 
+       * tests/test-oodml.lisp: add tests for *DB-AUTO-SYNC* and 
+       return type of (SETF SLOT-VALUE-USING-CLASS). 
+       * TODO, doc/TODO: remove items done. 
+       * README: fix typo. 
+       
+16 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/oodml.lisp: on Lispworks, use weak valued hash tables for 
+       object caching. 
+       * sql/expressions.lisp: Fix SQL generation for the symbol NIL. 
+
+16 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/expressions.lisp: reactivate caching of generated SQL strings. 
+       Move methods for DATABASE-OUTPUT-SQL, OUTPUT-SQL and SQL-HASH-KEY 
+       here from sql/fdml.lisp. Rationalise behaviour of SQL-OUTPUT, 
+       OUTPUT-SQL and DATABASE-OUTPUT-SQL. 
+       * sql/fdml.lisp: remove disabled method ADD-STORAGE-CLASS. Move 
+       methods for DATABASE-OUTPUT-SQL, OUTPUT-SQL and SQL-HASH-KEY to 
+       sql/expressions.lisp. 
+       * sql/ooddl.lisp: replace call to DATABASE-OUTPUT-SQL in 
+       DATABASE-PKEY-CONSTRAINT with call to SQL-OUTPUT. 
+       * sql/generics.lisp: add docstrings. 
+
+15 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.16
+       * db-oracle/oracle-sql.lisp: Remove OpenMCL specific
+       code in favor of fixing UFFI with James Bielman's patch
+       
+14 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.15
+       * db-oracle/oracle-sql.lisp: Apply patch for OpenMCL/OSX
+       from James Bielman
+       
+14 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * README, INSTALL: update URLs. Minor updates to descriptions. 
+       * tests/README: remove stuff about editing contexts. 
+
+12 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-oracle/oracle-objects.lisp: Change *default-varchar-length* to 
+       *default-string-length*
+       
+12 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * tests/test-syntax.lisp, tests/test-fdml.lisp: add tests for escaping 
+       of single quotes. 
+       * tests/test-fddl.lisp: add tests for column and table constraints 
+       in CREATE-TABLE. Add test for OWNER keyword parameter to 
+       LIST-TABLES (assuming same underlying machinery in other FDDL 
+       functions). 
+       * tests/test-init.lisp: restrict above test to postgresql and oracle. 
+       
+12 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-sqlite/sqlite-sql.lisp: Fix condition as reported by Aurelio 
+       Bignoli.
+
+11 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp, sql/package.lisp, doc/ref-ooddl.lisp, db-mysql/mysql-objects.lisp: Add tinyint type
+       
+10 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.14
+       * doc/*.xml: documentation additionals and fixes so
+       that docbook passes xmllint.
+       
+9 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.13
+       * sql/fdml.lisp: Apply patch from Kim Minh Kaplan 
+       to change escaping of single quotes. Mild optimizations
+       for escaped string output.
+       * doc/ref-ooddl.lisp: documentation additions
+       * doc/ref-oodml.lisp: Add purpose to functions
+       * TODO: Add need to test single quote escaping
+       
+7 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-ooddl.xml, doc-ref-oodml.xml: documentation additions
+       * sql/ooddl.lisp: Added SMALLINT type
+       * sql/generic-postgresql.lisp: Added INT2 as SMALLINT type
+       * db-mysql/mysql-objects.lisp: Added SMALLINT type
+       * sql/package.lisp: Export SMALLINT
+       * sql/expressions.lisp: Add MYSQL's UNSIGNED and ZEROFILL as
+       db-constraints
+       
+6 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/expressions.lisp: add AUTO-INCREMENT and UNIQUE to the 
+       recognised column constraints for CREATE-TABLE and the :DB-CONSTRAINTS 
+       View Class slot option. 
+       * sql/ooddl.lisp: fix bug preventing the :DB-CONSTRAINTS View Class 
+       slot option accepting a list of constraints [reported by Travis Cross]. 
+       * doc/ref-fddl.xml: add some examples of specifying column and 
+       table constraints to the documentation for CREATE-TABLE. 
+       * TODO: add note about adding tests for table/column constraints. Add 
+       optimisation note about using cached attribute types in insert/update
+       operations. 
+       
+3 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * doc/appendix.xml: add notes about idiosyncrasies/unsupported 
+       features and so on the documentation for each backend. 
+       * doc/TODO: remove items done. 
+       * doc/ref-transaction.xml: add note in introduction about 
+       autocommit mode as a difference from CommonSQL. 
+       * doc/ref-syntax.xml: add notes about SQL syntax state functions 
+       being macros in CLSQL. Add note about SQL operators which are 
+       CLSQL extensions. 
+
+2 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * Version 2.11.12 released
+       * doc/ref-recording.xml: document SQL I/O recording. 
+       * doc/ref-prepared.xml: new file for documenting prepared statements. 
+       * doc/clsql.xml: comment out include for large object and CLSQL-SYS 
+       documentation. 
+       * doc/ref-conditions.xml: complete documentation of condition system. 
+       * doc/global-index.xml: add symbols from condition system and remove
+       those from LOB and prepared statement APIs. 
+       * doc/ref-fdml.xml: complete documentation of FDML.
+       * doc/glossary.xml: add View Class. 
+       * doc/TODO: remove items done. 
+       * sql/conditions.lisp: make SQL-CONDITION a parent of SQL-ERROR. 
+       * sql/package.lisp: remove FOR-EACH-ROW from exports list. Export 
+       additional slot accessors for condition classes. 
+
+1 Jul 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * doc/ref-ooddl.lisp: Add documentation
+       * doc/ooddl.lisp: Move *DEFAULT-VARCHAR-LENGTH* from oodml.lisp
+       and rename to *DEFAULT-STRING-LENGTH*. Add docstring.
+       * doc/oodml.lisp: Rename references to new name of
+       *DEFAULT-STRING-LENGTH*
+
+1 Jul 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * doc/ref-transaction.xml: document transaction handling. 
+       * sql/transaction.lisp: ensure that COMMIT, ROLLBACK and 
+       START-TRANSACTION return NIL as per the CommonSQL spec. Modify 
+       ADD-TRANSACTION-{ROLLBACK|COMMIT}-HOOK such that a database is 
+       passed as a keyword argument defaulting to *DEFAULT-DATABASE*.
+       Added docstrings. 
+
+30 Jun 2004 Marcus Pearce <m.t.pearce@city.ac.uk>
+       * doc/ref-fdml.xml: document the FDML. 
+       * doc/ref-fddl.xml: move documentation for TRUNCATE-DATABASE here. 
+       * sql/ooddl.lisp: moved *default-varchar-length* to here from 
+       oodml.lisp and renamed to *default-string-length*
+       
+23 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Add keyword :transactions to def-view-from-class
+       to allow specifying transactionless table creation
+       * doc/ref-oodml.lisp: Add new keyword to signature of 
+       DEF-VIEW-FROM-CLASS     
+       
+18 Jun 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * Version 2.11.11
+       * sql/expressions.lisp: when removing duplicate table identifiers 
+       in the FROM clause of a query, check both table name and alias 
+       are equivalent. 
+       * sql/fdml.lisp: remove DESCRIBE-TABLE. 
+       * sql/db-interface.lisp: remove generics DESCRIBE-TABLE and 
+       DATABASE-DESCRIBE-TABLE. 
+       * sql/package.lisp: remove DESCRIBE-TABLE, DATABASE-DESCRIBE-TABLE 
+       and LIST-TABLE-INDEXES. 
+       * sql/generic-postgresql.lisp: add reader conditional #+nil for 
+       DATABASE-DESCRIBE-TABLE and comment about its uses for 
+       re-implementing LIST-ATTRIBUTE-TYPES with a single SQL query 
+       returning type info for all attributes. 
+       Fix DATABASE-SEQUENCE-LAST. 
+       * sql/fddl.lisp: remove LIST-TABLE-INDEXES and redefine 
+       LIST-INDEXES with additional keyword parameter :ON. 
+       * tests/test-fddl.lisp: replace LIST-TABLE-INDEXES in :fddl/index/3 
+       with LIST-INDEXES (with :ON parameter). 
+       * doc/global-index.xml: remove DESCRIBE-TABLE and LIST-TABLE-INDEXES. 
+       * doc/ref-connect.xml: minor tidying. 
+       * doc/ref-fddl.xml: document the FDDL. 
+       * doc/TODO: removed items done. Moved note about transaction handling 
+       from TODO to here. 
+       * TODO: move note about transaction handling to doc/TODO. Added 
+       optimization note about LIST-ATTRIBUTE-TYPES and LIST-INDEXES. 
+       
+13 Jun 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * Version 2.11.10
+       * sql/syntax.lisp: updated docstrings. 
+       * sql/package.lisp: exported DATABASE-NAME-FROM-SPEC from CLSQL 
+       package.
+       * sql/database.lisp: add docstrings for CREATE-DATABASE, 
+       DESTROY-DATABASE, TRUNCATE-DATABASE and LIST-DATABASES. Replace 
+       CLSQL-GENERIC-ERROR signalled in RECONNECT with SQL-CONNECTION-ERROR. 
+       * doc/ref-syntax.xml, doc/global-index.xml: minor tidying. 
+       * doc/ref-connect.xml: document connection/initialisation. 
+       * doc/ref-fdml.xml: move TRUNCATE-DATABASE reference entry here. 
+       * doc/TODO: remove items done. 
+       * Makefile: add db-oracle to to SUBDIRS. 
+
+13 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Add new serialization functions:
+       WRITE-INSTANCE-TO-STREAM and READ-INSTANCE-FROM-STREAM
+       * sql/expressions.lisp: Avoid duplicate FROM names when selecting
+       from a table that has more than one primary index.
+       * sql/conditions.lisp: Fix printing of closed-database error
+       
+13 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.9
+       * sql/conditions.lisp: Set initial slot value for message in SQL-WARNING
+       * sql/transactions.lisp: Correctly set slots of SQL-WARNING
+
+12 Jun 2004 Marcus Pearce <m.t.pearce@city.ac.uk>
+       * sql/package.lisp: export DATABASE-TYPE from CLSQL and subclasses 
+       of SQL-EXPRESSION from CLSQL-SYS. 
+       * sql/syntax.lisp: make error signalled in SQL-OPERATION an 
+       SQL-USER-ERROR. Make SQL-OPERATOR return just one value. 
+       * doc/Makefile: added Mandrake linux. 
+       * doc/catalog-redhat.xml, doc/catalog-mandrake.xml: new files. 
+       * doc/appendix.xml: fixed little typo (adsf). 
+       * doc/glossary.xml: removed closed-database and note about 
+       sql-expression, added some entries. 
+       * doc/ref-syntax.xml: documented the symbolic SQL syntax. 
+
+10 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.8
+       * db-mysql/mysql-loader.lisp: Remove load of unnecessary zlib library
+       * multiple: Add generalized-boolean type as requested by
+       Edi Weitz
+       * TODO: Added need for test of generalized-boolean
+       
+9 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.7 released
+       * uffi/clsql-uffi-loader.lisp: Apply patch from Edi Weitz
+       for loading with clc-register-user-package. Remove personal
+       directory from path lisp.
+       * db-mysql/mysql-loader.lisp: Similar changes
+       
+8 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.6 released
+       * sql/oodml.lisp: Commit patch from Edi Weitz
+       to fix symbol writing/reading
+       * TODO: Add need for symbol slot test
+       
+7 Jun 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * sql/package.lisp: remove duplicate export of 
+       *CACHE-TABLE-QUERIES-DEFAULT*. 
+       * doc/ref-*.xml, doc/global-index.xml: new files documenting 
+       the CommonSQL compatible api. 
+       * tests/test-fdml.lisp: modified the test :fdml/transaction/3 to 
+       reflect changes in return values of WITH-TRANSACTION. 
+
+04 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * tests/README: Fix filename [reported by Bill Clementson]
+       * sql/transactions.lisp: Apply return value patch from
+       Edi Weitz for WITH-TRANSACTION
+       * tests/README: Remove ptester package requirement (as noted
+       by Bill Clementson)
+       
+03 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.5 released
+       * examples/clsql-tutorial.lisp: Remove obsolete :nulls-ok attribute,
+       Select connection-spec based on connection type. Bugs reported by
+       Bill Clementson.
+       * uffi/uffi.dll, uffi/uffi.lib: Recompile with Visual Studio 2003
+       * db-mysql/mysql-loader.lisp: Update check for zlibwapi library
+       name on Windows, add \bin\ directory to search path
+       
+31 May 2004 Marcus Pearce <m.t.pearce@city.ac.uk> 
+       * db-odbc/odbc-sql.lisp: DB-TYPE replaced with DATABASE-TYPE in 
+       DATABASE-CONNECT. 
+       * sql/operations.lisp: substr now generates SUBSTR for use on 
+       Oracle; added a new operator SUBSTRING for use elsewhere. minus 
+       now generates MINUS for use on Oracle. Nvl signals an error if 
+       not called with exactly 2 arguments. Add concat function for use 
+       instead of the || operator on MySQL and Oracle. 
+       * sql/syntax.lisp: changed internal symbol for the || operator to 
+       CONCAT-OP. 
+       * sql/expressions.lisp: removed redundant and unused functions 
+       GENERATE-SQL (cf. SQL-OUTPUT) and DATABASE-CONSTRAINT-DESCRIPTION
+       (cf. MAKE-CONSTRAINTS-DESCRIPTION). 
+       * sql/generics.lisp: removed generic function for 
+       DATABASE-CONSTRAINT-DESCRIPTION (see above). 
+       * tests/test-syntax.lisp: modified/added tests according to changes
+       in sql/operations.lisp. 
+       * tests/test-fdml.lisp: changed SUBSTR to SUBSTRING in test 
+       :fdml/select/21.  
+       * sql/package.lisp: added the operators SQL-SUBSTRING, SQL-CONCAT-OP 
+       and SQL-USERENV to the shared exports list. Removed 
+       ROLLBACK-TRANSACTION, COMMIT-TRANSACTION, DATABASE-START-TRANSACTION, 
+       DATABASE-ABORT-TRANSACTION, DATABASE-COMMIT-TRANSACTION, 
+       TRANSACTION-LEVEL, TRANSACTION,  RECORD-SQL-COMMAND and 
+       RECORD-SQL-RESULT from shared exports list. 
+       
+30 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * db-postgresql/postgresl-sql.lisp: Avoid computing
+       result-types lisp when nil result-types. Return only
+       one value when field-types nil.
+       * db-mysql/mysql-sql.lisp: Simple queries now
+       working with prepared statements.
+       
+30 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.4: MySQL 4.1 now passes all tests
+       * sql/package.lisp: Add API for prepared statments.
+       * sql/fdml.lisp: Change implicit flatp processing
+       for string map-query for greater CommonSQL conformance.
+       Add high-high API for prepared statements.
+       * tests/test-basic.lisp: Add test for map-query and
+       single argument.
+       * sql/transactions.lisp: Change name/semantics of
+       autocommit to set-autocommit.
+       * sql/generic-postgresql.lisp: Add support for
+       prepared statements. 
+       * tests/test-internal.lisp: New file
+       * sql/odbc-api.lisp: Update to using ODBC V3 protocol
+       * clsql-mysql.asd, clsql-uffi.asd: Remove check and Common Lisp
+       Controller invocation.
+       * db-mysql/mysql-api.lisp: Add support for MySQL 4.1 field structure
+       * sql/expressions.lisp: Avoid emitting double parenthesis when a
+       function contains a subselect. 
+       
+27 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.3
+       * sql/ooddl.lisp: Commit patch from Edi Weitz fixing return
+       type (setf slot-value-using-class)
+       * TODO: add not that need a test case for the above fix
+       * db-sqlite: Remove clisp support since clisp can not run CLSQL
+       with its MOP usage
+       * db-oracle/oracle-sql.lisp: By default, use OCIEnvCreate as 
+       introduced in Oracle8. Leave older code selectable by a reader macro
+       for Oracle7 and prior. Avoid use of OCIServerAttach since CLSQL
+       uses OCILogon and does not the more complex session management.
+       
+26 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: Commit universal-time typo patch from Edi Weitz
+       * test/test-init.lisp: Add universal-time slot to person.
+       * test/test-fddl.lisp: Add tests of universal-time slot
+       * test/test-ooddl.lisp: Test universal-time slot in an object
+       * TODO: Remove need for universal-time test     
+       * debian/rules, debian/control: Add cl-sql-oracle binary package
+       * doc/appendix.xml: Add Oracle backend information
+       * db-oracle/oracle-objects.lisp: Add database-get-type-specifier for
+       universal-time. Convert BIGINT CLSQL type to CHAR SQL type
+       * db-mysql/mysql-sql.lisp: Fix condition name to sql-connection-error
+       * doc/ref-clsql.xml: Renamed from ref_clsql.xml. Change the documentation
+       for map-query to reflect changed in arguments to be CommonSQL compatible.
+       Updated old clsql conditions to new CommonSQL compatible conditions.
+       
+25 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * sql/oodml.lisp: (string n) now produces a CHAR field. Add new VARCHAR
+       type. Added *default-varchar-length* rather than previous hard-coded
+       varchar length. Remove 'simple-string and 'simple-base-string since they
+       are subtypes of 'string.
+       * db-oracle/oracle-sql.lisp: Use *default-varchar-length* rather than
+       local hard-coded value.
+       * sql/metaclasses.lisp: Convert specified type VARCHAR and (VARCHAR n) to Lisp
+       type string. Convert specified-type (CHAR n) to string. Convert specified-type
+       CHAR to lisp type character.
+       * sql/generic-postgresql.lisp: (string n) => (CHAR n)
+       * sql/operations.lisp: Add userenv
+       * doc/TODO: Add AUTOCOMMIT. Remove need for large table and bigint
+       slot tests
+       * sql/oracle-sql.lisp: Add 64-bit bigint direct conversion
+       * uffi/clsql-uffi.lisp: Handle signed 64-bit integers
+       * test/test-init.lisp: Add large table with bigint slot
+       
+25 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.1 released: Much simpler Oracle client library loading.
+       Now uses ORACLE_HOME environmental variable as well as tests default
+       path for Oracle Instant Client. 
+       
+25 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.11.0 released: Full Oracle support. All tests pass
+        * db-oracle/oracle-sql.lisp: Add declaration so that SBCL runs efficiently.
+       * tests/test-init.lisp: capitalize odbc backend name in banner
+       * CONTRIBUTORS: Add note about Marcus' excellent work
+       * sql/oodml.lisp: Removed old stub function     
+       * clsql.asd: Use module names in current package rather than keyword package
+       * db-oracle/oracle-sql.lisp: Don't trim trailing spaces. Prevent interrupts
+       in setting sequence position. Make autocommits more efficient.
+       * tests/test-init.lisp: Skip 2 tests on Oracle which have unsupported syntax 
+       * sql/oodml.lisp: Get rid of undocumented raw-string type. CommonSQL
+       strings are raw (non-trimmed trailing whitespace). Add database-get-type-specifier
+       and read-sql-value for NUMBER and CHAR.
+       * sql/base-classes.lisp: Add autocommit slot
+       * sql/transaction.lisp: Added autocommit processing, mild cleaning.
+       * doc/intro.xml: Add Oracle
+       
+24 May 2004: Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * db-postgresql-socket/postgresql-socket-sql.lisp: replace 
+       CLSQL-SIMPLE-WARNING with SQL-WARNING. 
+       * db-sqlite/sqlite-sql.lisp: replace CLSQL-SIMPLE-WARNING with 
+       SQL-WARNING. 
+       * db-aodbc/aodbc-sql.lisp: replace CLSQL-ERROR with SQL-ERROR. 
+       * clsql.asd: reworked module structure in package definition and 
+       file names to better reflect component functionality. 
+       * sql/package.lisp: added SQL-FATAL-ERROR and SQL-TIMEOUT-ERROR to 
+       exports list. Removed duplicate and obsolete exports. Exported 
+       remaining SQL operations: SQL-SOME, SQL-<>, SQL-BETWEEN, SQL-DISTINCT, 
+       SQL-NVL and SQL-FUNCTION. Organised exports by functionality/file and 
+       according to whether they are specified by CommonSQL or CLSQL 
+       extensions. 
+       * sql/transaction.lisp: replace CLSQL-SIMPLE-WARNING with 
+       SQL-WARNING. 
+       * sql/generics.lisp: moved generics for QUERY and EXECUTE-COMMAND 
+       here from basic-sql.lisp. 
+       * sql/expressions.lisp: NEW FILE: renamed from classes.lisp (deleted). 
+       * sql/fddl.lisp: NEW FILE: renamed from table.lisp (deleted). 
+       * sql/fdml.lisp: NEW FILE: merger of basic-sql.lisp and sql.lisp
+       (both deleted). 
+       * sql/ooddl.lisp: NEW FILE: ooddl from objects.lisp (deleted). 
+       * sql/oodml.lisp: NEW FILE: oodml from objects.lisp (deleted). 
+       
+23 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.10.22 released
+       * sql/kmr-mop.lisp, sql/objects.lisp: Since SBCL is the only implementation that
+       has reversed class slots, change the default for ordered-class-slots so that slots
+       are now in the same order an in the def-view-class.
+       * sql/sql.lisp: Honor case of string table identifier to INSERT-RECORDS
+       * test/test-fddl.lisp: Add two tests for mixed case names
+       * db-oracle/oracle-sql.lisp: Add missing database qualifier. Return NUMBER (double)
+       for computed fields, this will require some adjustment to the test suite which
+       in many cases expects integers.
+       * test/test-fdml.lisp: Accomodate that Oracle returns doubles for computed columns
+       
+22 May 2004 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 2.10.21 released
+       * sql/sequences.lisp: Move generic sequence functions here from db-sqlite,
+       db-odbc, and db-aodbc.
+       * sql/*.lisp: Add db-type parameter to generic functions READ-SQL-VALUE,
+       DATABASE-GET-TYPE-SPECIFIER, and OUTPUT-SQL-VALUE-AS-TYPE. Update methods to use these.
+       * sql/generic-postgresql.lisp, sql/generic-odbc.lisp: New files
+       * db-odbc/odbc-sql.lisp, db-aodbc/aodbc-sql.lisp: Move common code to 
+       sql/generic-odbc.lisp
+       * db-postgresql/postgresql-sql.lisp, db-postgresql-socket/postgresql-socket-sql.lisp: 
+       Move common code to  sql/generic-postgresql.lisp
+       * sql/classes.lisp: honor case of string tables when outputting queries 
+       * sql/objects.lisp: Add database type to default database-get-type-specifier method
+       * sql/sql.lisp:  Add database type to default database-abort-transaction method
+       * db-mysql/mysql-objects.lisp: New file
+       * sql/objects.lisp: Move MySQL specific code to mysql-objects.lisp
+       * sql/utils.lisp: Add GETENV function which will be used to get ORACLE_HOME
+       from environment
+       * test/test-fdml.lisp: String table names are now case sensitive, so convert to
+       default db case for FDML/SELECT/25
+
+22 May 2004 Kevin Rosenberg
+       * Version 2.10.20 released: Oracle backend now fails 6 out of 200 tests
+       * TODO: Added 2 variances from CommonSQL. Add tests for owner phrases
+       and string identifiers with non-default case
+       * sql/table.lisp: Don't convert string table name to a symbol.
+       * sql/classes.lisp: Honor case of string identifiers
+       * sql/sql.lisp: Ensure recyclebin is purged for Oracle in 
+       TRUNCATE-DATABASE
+       * db-oracle/oracle-sql.lisp: Add sequence functions, fix use of
+       of owner phrases. Obtain server and client versions.
+       * db-oracle/oracle-objects.lisp: Fix type specifiers
+       * tests/test-fddl.lisp: Allow :varchar2 and :number as data types
+       * tests/test-init.lisp: Properly get username from Oracle connection-spec
+       
+22 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/generics.lisp: reworked docstrings. Remove generics for 
+       ADD-TO-RELATION and REMOVE-FROM-RELATION. 
+       * sql/objects.lisp: reworked docstrings. Changed UPDATE-OBJECT-JOINS 
+       to UPDATE-OBJECTS-JOINS for CommonSQL compatibility. 
+       * sql/package.lisp: Changed UPDATE-OBJECT-JOINS to UPDATE-OBJECTS-JOINS 
+       for CommonSQL compatibility. Remove ADD-TO-RELATION and 
+       REMOVE-FROM-RELATION. 
+       * tests/test-oodml.lisp: Changed UPDATE-OBJECT-JOINS to 
+       UPDATE-OBJECTS-JOINS for CommonSQL compatibility. 
+       * doc/TODO: added notes about extra slot options to DEF-VIEW-CLASS. 
+       * sql/conditions.lisp: add documentation for conditions. Add 
+       SQL-TIMEOUT-ERROR and SQL-FATAL-ERROR for CommonSQL compatibility. 
+
+21 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/basic-sql.lisp: reworked docstrings. 
+       * sql/transactions.lisp: reworked docstrings. 
+       * sql/sql.lisp: reworked docstrings. 
+       * sql/initialize.lisp: reworked docstrings. INITIALIZE-DATABASE-TYPE 
+       sets *DEFAULT-DATABASE-TYPE* for CommonSQL compatibility. 
+       * sql/database.lisp: reworked docstrings. 
+       * doc/TODO: added notes about START-TRANSACTION and IN-TRANSACTION-P 
+       and FDML extensions and database extensions. 
+
+20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * db-oracle/oracle-sql: Use clsql-specific error conditions. Use owner keyword.
+       * db-oracle/make9.sh: add makefile for building with Oracle 9 client
+       libraries
+       * sql/table.lisp: Add logic for dealing with Oracle 10g vs. previous
+       Oracle versions with the PURGE option required for drop table. This needs
+       to be converted to a generic function and moved to db-oracle/oracle-sql.lisp
+
+20 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/classes.lisp: remove unused PARAMS slot in SQL-IDENT-ATTRIBUTE. 
+       * sql/syntax.lisp: remove unused PARAMS keyword arg to SQL-EXPRESSION. 
+       * sql/table.lisp: reworked docstrings. 
+       * sql/objects.lisp: moved *default-update-objects-max-len* here from 
+       table.lisp. 
+       * doc/TODO: notes about :if-does-not-exist arg to DROP-TABLE, 
+       DROP-VIEW and DROP-INDEX and the use of the :transactions and 
+       :constraints keyword args to CREATE-TABLE. 
+       * sql/classes.lisp: the DESCRIPTION argument to CREATE-TABLE is now 
+       CommonSQL compatible with respect to column constraints. 
+
+20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * sql/oracle-sql.lisp: Now compiles and runs on SBCL.
+       Requires UFFI 1.5.0 or higher
+       
+20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.19
+       * sql/conditions.lisp: Fix cerror
+       
+19 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.18 released: New condition hierarchy to be compatible
+       with CommonSQL -- not backward compatible with previous CLSQL.
+       * sql/db-interface.lisp: Add more default methods
+       * sql/objects.lisp: Add explicit table name to order-by parameters
+       in find-all when only one table to avoid selecting a duplicate row.
+       Fix error in FIND-ALL when using :order-by such as (([foo] :asc))
+       as previous logic was adding two fields (foo asc) to SELECT query.
+       Make :result-types :auto be the default for object selections.
+       Properly handle caching key when using multiple order-by with asc/desc
+       directions.
+       * db-oracle/*.lisp: Much improvements, now passes 90% of test suite
+       
+19 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/recording.lisp: reworked docstrings. 
+       * sql/syntax.lisp: reworked docstrings. 
+       * doc/TODO: added notes about extensions to SQL-RECORDING-P and the 
+       SQL syntax state functions being macros. 
+
+19 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+        * sql/package.lisp: Export initialize-database-type and
+       *initialize-database-types* from CLSQL package.
+       * sql/conditions.lisp: Add new CommonSQL compatible conditions,
+       remove old CLSQL conditions.
+       * sql/loop-extensions.lisp: Make errors of type sql-user-error
+       * */*.lisp: Convert to from old to new conditions
+       
+18 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+        * sql/table.lisp: Add PURGE to drop command for oracle 10g backend.
+       To handle this difference, will need to add a new database-drop-table
+       generic function.
+       * db-oracle/oracle-sql.lisp: Move server-version and
+       major-version-number to database object to allow multiple connections
+       to Oracle servers of different versions.
+       
+18 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * TODO: moved notes about backends to doc/TODO. 
+       * doc/TODO: added notes about backends and select extensions. 
+       * sql/base-classes.lisp: remove obsolete schema slot in database 
+       class. 
+       
+16 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * db-oracle/oracle-api: Add OCIServerVersion
+       * db-oracle/oracle-sql: Query and store server version on connect
+       * sql/db-interface.lisp: Add new db-type-has-bigint? generic
+       function to handle OCI's lack of bigint support
+       * test/test-basic.lisp: Separate bigint testing
+       * test/test-utils.lisp: Add oracle to specs and list of backends
+       * doc/TODO: New file
+       * test/test-fdml.lisp: Added FDML/SELECT/34 to test
+       run-time instantiation of variables in reader macros.
+       * TODO: Remove item already complete. Add note about
+       condition variances
+       
+16 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/syntax.lisp: added condition to the reader macro to treat [*] 
+       as a column identifier (rather than an operation) for CommonSQL 
+       compatibility. 
+       * tests/test-fdml.lisp: add tests for ORDER-BY and SET-OPERATION 
+       keword args to SELECT, [*] as column identifier, new MAP-QUERY 
+       behaviour and the ANY and ALL operators in subqueries. 
+       * tests/test-init.lisp: add set-operation and subquery tests to 
+       appropriate skip lists. 
+       * sql/objects.lisp: remove redundant and non CommonSQL compatible 
+       ORDER-BY-DESCENDING keyword argument for SELECT. 
+       * sql/classes.lisp: remove redundant and non CommonSQL compatible 
+       ORDER-BY-DESCENDING keyword argument for SELECT. 
+       * tests/test-oodml.lisp: add test for ORDER-BY keyword to SELECT 
+       with object queries. 
+
+15 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * sql/db-interface.lisp: Add new db-type-has-union? 
+       since Mysql 3.23 does not support unions.
+       * sql/test-init.lisp: Don't try union tests on database
+       backends which do not support it.
+       * db-oracle/*.lisp: initial port to UFFI
+       * sql/objects.lisp: implement UPDATE-OBJECT-JOINS,
+       implement REFRESH for SELECT.
+       * tests/test-oodml.lisp: Add tests for deferred retrieval,
+       caching, refresh, and update-object-joins
+       * tests/test-init.lisp: Add deferred-employee-address class
+       
+15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/operations.lisp: make MINUS operator a synonym for EXCEPT. Add 
+       COALESCE operator and make NVL a synonym for this. Make ANY, SOME, 
+       ALL and EXISTS generate function expressions so they output the 
+       correct SQL. 
+       * sql/classes.lisp: SELECT now generates appropriate SQL when 
+       passed the SET-OPERATION and ALL keyword arguments. 
+       * sql/classes.lisp: the ORDER-BY keyword argument to SELECT now 
+       accepts ordering constraints as pairs of the form (column direction) 
+       where direction may be :ASC or :DESC. 
+       * tests/test-syntax.lisp: added tests for MINUS and COALESCE/NVL. 
+       Correct tests for ANY, SOME, ALL and EXISTS. 
+       * tests/test-fdml.lisp: added test for COALESCE. 
+       * sql/sql.lisp: MAP-QUERY now applies FUNCTION to QUERY-EXPRESSION 
+       using funcall unless QUERY-EXPRESSION returns one column and its 
+       FLATP slot is not nil in which case apply is used. 
+       * tests/test-basic.lisp: modified calls to MAP-QUERY to reflect the 
+       changes. 
+       * TODO: remove items done. 
+       * db-postgresql/postgresql-sql.lisp: no need to reverse results in 
+       DATABASE-LIST-ATTRIBUTES. 
+       * db-postgresql-socket/postgresql-socket-sql.lisp: no need to reverse
+       results in DATABASE-LIST-ATTRIBUTES.    
+       
+15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+        * sql/classes.lisp: SELECT now accepts table identifiers as strings 
+        for CommonSQL compliance. Add support for qualified sql identifiers 
+        with aliased table names. 
+        * tests/test-fdml.lisp: added tests for table identifiers as strings 
+        in SELECT and for aliased definitions. 
+        * tests/test-syntax.lisp: added tests for alias definitions. 
+       
+15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/sql.lisp: PRINT-QUERY now calls QUERY with result-types and 
+       field-names set to nil. 
+       * sql/sql.lisp: PRINT-QUERY now computes column sizes correctly 
+       with null attribute values. 
+       * sql/operations.lisp: modify SQL concatenation operator to accept 
+       unescaped || symbol.  
+       * sql/syntax.lisp: modify sql reader macro function to accept 
+       unescaped sql concatenation operator. 
+       * tests/test-fdml.lisp: unescape sql concatenation operator. 
+       * tests/test-syntax.lisp: unescape sql concatenation operator. 
+       * TODO: remove items done. Add notes about SQLITE/MYSQL backends. 
+       Note to add test for universal-time. Note about difference from 
+       CommonSQL in transaction handling. 
+
+13 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * tests/test-init.lisp: Add deferred-employee-address
+       class
+       * tests/test-oodml.lisp: Add deferred retrieval testgs
+       
+12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.17
+       * LATEST-TEST-RESULTS: Run on all platforms, add AMD64
+       * sql/sql.lisp: Add FOR-EACH-ROW macro from clsql-classic/sql.lisp
+       * db-sqlite/sqlite-uffi-api.lisp: Fix row-pointer type
+       * *: Fix minor style warnings
+       * clsql-classic: Remove system and subdirectory
+       * clsql-base: Remove system and subdirectory and
+       fold into clsql system
+       * doc/intro.xml: Remove reference to old clsql-base. Add x86_64
+       as supported platform.
+       
+12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.16: CLSQL now fully supports AllegroCL AMD64
+       * db-odbc/odbc-api.lisp: work around return-type bug [spr28889] in
+       Allegro 7.0beta AMD64
+       * db-odbc/*.lisp: Add a layer of indirection to foreign-type
+       of ODBC longs since this type can vary on 64-bit platforms depending
+       upon the compilation options of unixODBC.
+       * db-mysql/mysql-api.lisp: Fix int vs. long slots in foreign
+       structures found by testing with AllegroCL 7.0b AMD64.
+       * db-*/*-loader.lisp: Load 64-bit libraries on 64-bit platorms
+       * sql/objects.lisp: Simple implementation of UPDATE-OBJECT-JOINS.
+       Initial caching support for SELECT
+       * tests/test-oodml.lisp: Avoid using cache when testing select.
+       * sql/kmr-mop.lisp: Explicitly check slot order and
+       store as a cl:*feature*
+       * sql/recording.lisp: Remove additional types to
+       increase CommonSQL conformance.
+       * tests/test-init.lisp: Change a :column attribute
+       to test symbols as value
+       * sql/relations.lisp: Remove functions since they don't support
+       many to many relationships.
+       * examples/clsql-tutorial.lisp, doc/csql.lisp: Remove use
+       of add-to-relations function and replace with explicit field settings.
+       * base/classes.lisp: Remove obsolute query-stream. Add record-caches slot.
+       
+9 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.15
+       * LATEST-TEST-RESULTS: results with current version
+       * sql/kmr-mop.lisp: Make CMUCL reader macros specific for cmu18
+       since cmu19 has opposite order of class slots.
+       * sql/objects.lisp: Fix (setf slot-value-using-class) for Lispworks
+       * tests/test-fdml.lisp: Renumber SELECT tests to avoid overwriting
+       a previous test
+       * tests/test-init.lisp: Check test-database-underlying-type for
+       ODBC/MySQL tests
+       
+8 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+       * sql/operations.lisp: complete remaining operations for the sql 
+       syntax: SUBSTR, SOME, ORDER-BY, GROUP-BY, NULL, DISTINCT, EXCEPT, 
+       UNION, INTERSECT, BETWEEN. 
+       * sql/classes.lisp: add new classes: SQL-BETWEEN-EXPRESSION, 
+       SQL-QUERY-MODIFIER-EXPRESSION and SQL-SET-EXPRESSION. 
+       * tests/test-syntax.lisp: add tests for new operations. 
+       * tests/test-fdml.lisp: add tests for queries based on new operations. 
+       * tests/test-init.lisp: add select/20 to tests skipped for sqlite and 
+       select/20, query/5, query/7 and query/8 to tests skipped by mysql. 
+       * TODO: removed entries done. 
+
+8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * tests/benchmarks.lisp: Add immediate vs. deferred
+       join test.
+       
+8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * Version 2.10.13: Now works on openmcl 0.14.2 
+       * sql/objects.lisp: Add :retrieval :immediate for
+       object selections
+       * tests/test-init.lisp: Add non-index fields for testing 
+       join class employee-addresss
+       * test/test-oodml.lisp: Add tests for retrieval immediate
+       * sql/metaclasses.lisp: Handle differences in direct-slot-definition 
+       values which are now listifed by openmcl 14.2.
+       * sql/objects.lisp: more framework for supporing immediate retrieval 
+
+7 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * docs/intro.xml: Upload location of a README file
+       * sql/metaclass.lisp: Work-around openmcl's CHANGE-CLASS
+       changing the type-specifier. Use a lisp type of (OR NULL FOO)
+       for a specified-type of FOO unless :db-constraints :not-null.
+       No need to specialize finalize-inheritance for openmcl.
+       * tests/test-*.lisp: Rename fields so that joins occur on
+       fields with different names. This ensures that join code is
+       selecting the proper name.
+       * test/test-init.lisp: Add :base-table for employee-address
+       view class for testing.
+       * sql/objects.lisp: Use view-table rather than name of table
+       in a number of places to fix errors noted with using :base-table.
+
+6 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
+        * sql/objects.lisp: replace *update-records-on-make-instance* with 
+        *db-auto-sync* which also controls both automatic creation of 
+        new records on creation of new instance and updating of record 
+        fields on setting of instance slots (as suggested by Edi Weitz). 
+        * tests/test-init.lisp: replace *update-records-on-make-instance* 
+        with *db-auto-sync*. 
+        * sql/package.lisp: replace *update-records-on-make-instance* 
+        with *db-auto-sync*. 
+        * TODO: replace *update-records-on-make-instance* with *db-auto-sync*. 
+        * sql/objects.lisp: remove redundant rebindings of *db-initializing* 
+        and *default-database* in FIND-ALL. 
+       * sql/package.lisp: import time functions from CLSQL-BASE. 
+       * tests/test-time.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
+       * tests/test-fdml.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
+       * tests/test-init.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
+       * tests/test-ooddl.lisp: replace CLSQl-BASE package qualifier with 
+       CLSQL. 
+
+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * sql/classes.lisp: Add SQL-OBJECT-QUERY type. Have [select 'class]
+       now return a sql-object-query type rather than directly performing a query.
+       This improves CommonSQL conformance.
+       * sql/sql.lisp: Add new QUERY method for SQL-OBJECT-QUERY. Move
+       from basic/basic-sql.lisp the DO-QUERY and MAP-QUERY since they now
+       depend on sql-object-query-type.
+       * sql/loop-extensions.lisp: Move from base package
+       * classic/package.lisp: remove references to map-query and do-query
+
+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * TODO: New section on optimizations, especially optimizing JOINs.
+       * sql/objects.lisp: Have :target-slot return of list of lists rather
+       than a list of cons pairs to be conformant with CommonSQL.
+       Make :target-slot much more efficient by using a SQL inner join
+       statement and just requiring one SQL query. Add :retrieval :deferrred
+       to target-slot joins. Add placeholder for update-objects-join.
+       * sql/classes.lisp: Add :inner-join and :on slots to sql-query class
+       and process them for query output-sql. 
+
 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.10.11
        * base/basic-sql.lisp: Avoid multiple evaluation