X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=ChangeLog;h=69b6f6e461c9b8d382d85e20ddcd4654307851d3;hp=6ff0345aa8d59f26f0f2b96df19a49a07172074b;hb=46525a14e41672ba3daaf79c68fdc413e47c4fd0;hpb=cab6bc9726ec3399ec79fe53522e0b90912b750f diff --git a/ChangeLog b/ChangeLog index 6ff0345..edf6b8a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,858 @@ +09 Nov 2004 Kevin Rosenberg + * sql/operations.lisp: Add lower and upper SQL + functions from Daniel Lowe. + +08 Nov 2004 Kevin Rosenberg + * sql/expressions.lisp: Fix slot name [thanks to + Daniel Lowe] + +31 Oct 2004 Kevin Rosenberg + * clsql-sqlite3, db-sqlite3/*: NEW BACKEND + contributed by Aurelio Bignoli + +23 Oct 2004 Kevin Rosenberg + * 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 + * uffi/uffi.c, uffi/clsql-uffi.lisp: Commit patch from + Aurelio Bignoli to fix negative 64-bit integers + +07 Oct 2004 Kevin Rosenberg + * db-mysql/mysql.c: Fix parameters in bind_param call + +07 Oct 2004 Kevin Rosenberg + * 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 + * 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 + * Version 3.0.8 released + * db-sqlite/sqlite-*.lisp: Apply patch from + Aurelio Bignoli with improvements + +01 Oct 2004 Kevin Rosenberg + * multiple: Apply patch from Joerg Hoehle with multiple + improvements. + +01 Oct 2004 Kevin Rosenberg + * 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 + * sql/metaclass.lisp: Support CLISP's attribute name + for the type field in direct class slots + +27 Sep 2004 Kevin Rosenberg + * 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 + * 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 + * 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 + * Version 3.0.4 Release + * multiple: Remove superfluous quotes in UFFI def-type + and def-foreign-type forms. + +07 Sep 2004 Kevin Rosenberg + * 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 + * db-odbc/odbc-api.lisp: More conversions to ODBC v3 + +02 Sep 2004 Kevin Rosenberg + * 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 + * 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 + * 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 + * db-mysql/Makefile, db-mysql/mysql-loader.lisp: accept patch + from Jon Buffington for file locations on Darwin. + +17 Aug 2004 Kevin Rosenberg + * 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 + * 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 + * 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 + * 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 + * NEWS: Initial 3.0 announcement draft + * README: Expand acknowledgements of incorporated projects + * CONTRIBUTORS: Further document Marcus Pearce contributions + +23 Jul 2004 Marcus Pearce + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * Version 2.11.15 + * db-oracle/oracle-sql.lisp: Apply patch for OpenMCL/OSX + from James Bielman + +14 Jul 2004 Marcus Pearce + * README, INSTALL: update URLs. Minor updates to descriptions. + * tests/README: remove stuff about editing contexts. + +12 Jul 2004 Kevin Rosenberg + * db-oracle/oracle-objects.lisp: Change *default-varchar-length* to + *default-string-length* + +12 Jul 2004 Marcus Pearce + * 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 + * db-sqlite/sqlite-sql.lisp: Fix condition as reported by Aurelio + Bignoli. + +11 Jul 2004 Kevin Rosenberg + * sql/oodml.lisp, sql/package.lisp, doc/ref-ooddl.lisp, db-mysql/mysql-objects.lisp: Add tinyint type + +10 Jul 2004 Kevin Rosenberg + * Version 2.11.14 + * doc/*.xml: documentation additionals and fixes so + that docbook passes xmllint. + +9 Jul 2004 Kevin Rosenberg + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 + * 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 * 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