X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=ChangeLog;h=1965c5b7e15014badfc6c0d7900638d2d1f8c0cf;hp=8dc9bb43f2a8573b0d1f1ad4328d19ee83afc290;hb=e622ee6f4bf2b9fe81af59d566e651c983a4833b;hpb=fdaeda2cffef1620ae3ddb1f0423ba8d5fb39b11 diff --git a/ChangeLog b/ChangeLog index 8dc9bb4..1965c5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,298 @@ +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 + * 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 + * 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