r9379: Add note about
[clsql.git] / ChangeLog
index 8fb459efc2d5cf0904d1d481086a920ae25f8f2e..6148842220a673010325cb98a0995b24e19f2924 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,167 @@
+16 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+       * 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.