+15 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.18
+ * 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
+