+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.
+