X-Git-Url: http://git.kpe.io/?p=clsql.git;a=blobdiff_plain;f=ChangeLog;h=42a0b4e6e7eb7290ffa9bb732eeca9d19f30b9a4;hp=30f84de73fbabe09437df433587c55683bf2d1ea;hb=9bbed78051e80e6ab76ae47834136035602bbbf1;hpb=7fe2be1c1362639b32fab48534f3dce614586ff4 diff --git a/ChangeLog b/ChangeLog index 30f84de..42a0b4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,13 +1,432 @@ +1 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.6-pre1 + * sql/metaclasses.lisp: Add void-value slot + * doc/csql.xml: Update def-view-class documentation + * test/test-init.lisp: Change old :db-type to :db-kind. + Remove old :nulls-ok attributes. + * sql/objects.lisp: Add new universal-time and bigint + types. Optimize reading of integers using parse-integer + rather than read-from-string. + * */*.lisp: Merge clsql-base-sys and clsql-base packages + into clsql-base package + +1 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.5: SQLite backend now passes all result-types tests + * clsql-sqlite.asd: Depend on clsql-uffi system + * db-sqlite/sqlite-sql.lisp: Use clsql-uffi:convert-raw-field + for efficiency and code reuse. + * db-sqlite/sqlite-api-uffi.lisp: Change (* :char) to (* :unsigned-char) + for better cross-implementation compatibility. + +1 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.4 + * sql/tables.lisp: Fix typo in CACHE-TABLE-QUERIES + [Marcus Pearce] + * db-postgresql/postgresql-sql.lisp: Fix foreign-string vs. cstring + bug on SBCL in result-field-names function as reported by Marcus Pearce + * db-sqlite/sqlite-sql.lisp: Fix in database-store-next-row + manifest in SBCL testing + +1 May 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.3 + * sql/database.lisp: Conform more to CommonSQL output + for STATUS command [Marcus Pearce] + * sql/sqlite-sql.lisp: Rework to use result-types + * sql/sqlite-api-clisp.lisp: Add compatibility layer + with sqlite-api-uffi.lisp so that sqlite-sql.lisp can + be cleaned up of most clisp reader conditionals + * sql/test-init.lisp: Now run field type tests on sqlite + backend + +30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.2 + * base/basic-sql.lisp: Set default value of :result-types + to :auto for more CommonSQL conformance. + * test/test-fdml.lisp: Add tests for numeric value of fields + + +30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.10.1: New API function: CACHE-TABLE-QUERIES. + * base/basic-sql.lisp, db-*/*-sql.lisp: More CommonSQL conformance. + Return field names as second value for QUERY. This can be overridden + for efficiency with the new keyword :FIELD-NAMES set to NIL + in the QUERY invocation. + * test/test-fdml.lisp: Add tests for new field-name feature + * sql/metaclass.lisp: Remove old Lispworks cruft + and replace it with invocation of new code in kmr-mop.lisp + which actually works with Lispworks 4.2 + * doc/ref_clsql.xml: Document new :FIELD-NAMES keyword to + QUERY function + * base/db-interface.lisp: Document the multiple values + returned by DATABASE-ATTRIBUTE-TYPE so matches the + undocumented CommonSQL behavior. + * sql/table.lisp: Add *CACHE-TABLE-QUERIES-DEFAULT* and + *DEFAULT-UPDATE-OBJECTS-MAX-LEN* variables and export them. + LIST-ATTRIBUTE-TYPES now conforms to CommonSQL spec. + Implement CACHE-TABLE-QUERIES. + * db-odbc/odbc-sql.lisp: Fix attribute-type function + * test/test-fddl.lisp: Add tests for attribute type + * db-mysql/mysql-sql.lisp: Mild optimization in accessing + field structures. + * base/classes.lisp: Add attribute-cache slot to database clas + * base/initialize.lisp: initialize-database-type now automatically + loads database-type backend as needed. + * base/test-init.lisp: Utilize new initialize-database-type functionality. + * TODO: remove items done + +30 Apr 2004 Marcus Pearce (m.t.pearce@city.ac.uk) + * Version 2.9.6 + * sql/objects.lisp: remove create/drop-sequence-from-class. + * sql/objects.lisp: add INSTANCE-REFRESHED generic function. + * sql/objects.lisp: improved CommonSQL compatibility for + UPDATE-RECORD-FROM-SLOT, UPDATE-RECORD-FROM-SLOTS, + UPDATE-RECORDS-FROM-INSTANCE and DELETE-INSTANCE-RECORDS. + * sql/generics.lisp: move generics from objects.lisp to here. + +29 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.6-pre1 + * db-mysql/mysql-client-info.lisp: Add client version 4.1 + detection + * sql/sql.lisp: Make *default-database* the default for + TRUNCATE-DATABASE + +28 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.5 + * db-mysql/mysql-sql.lisp: Fix bug in transaction capability + detection + * sql/objects.lisp: Commit patch from Slawek Zak to allow specifying + :metaclass in DEF-VIEW-CLASS invocation. This allows defining classes + on a metaclass specialized from standard-db-class. + + +24 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.4: Multiple changes to support Allegro's "modern" + lisp which uses a lowercase reader and has case-sensitive symbols + * sql/classes.lisp: Fix make-load-form bug for sql-ident-table + exposed by case-sensitive mlisp. + +22 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.3: All tests now pass on all platforms! + * LATEST-TEST-RESULTS: New file with summary of test results + * sql/generics.lisp: New file for generic function definitions. + * test/test-init.lisp: Display names of skipped tests. + Use unwind-protect to ensure disconnect + * sql/objects.lisp: Change database-type to database-underlying-type + so that actual database engine is properly identified + * db-odbc/odbc-api.lisp: Have default *time-conversion-function* + return an ISO timestring for compatibility with other drivers. + Workaround bug in MyODBC for LIST-TABLE-INDEXES + * test/test-fdml.lisp: Accomodate that odbc-postgresql driver + returns floating-point values for floor and truncate operations + * db-aodbc/aodbc-sql.lisp: Implement DATABASE-LIST-VIEWS + * tests/test-basic.lisp: Port to regression tester + * test/test-init.lisp: Output to *report-stream* + * docs/appendix.xml: Document ODBC and SQLite backends. + * sql/classes.lisp: Make output-sql require a database parameter. + This allows SQL generation to have the proper case to support + the differences in case handling between CommonSQL API, + Postgresql, MySQL, Oracle. + +21 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.2: Improvments in database capability introspection + and querying. Support transactions in MySQL where available. + All tests now pass on MySQL and SQLite in addition to postgresql + and postgresql-socket. ODBC fails only with OODDL/TIME/1 and OODDL/TIME/2. + * db-odbc/odbc-sql.lisp: Add DATABASE-LIST-VIEWS. Better support + DATABASE-LIST-SEQUENCES. + * clsql-uffi.asd, clsql-mysql.asd: Improve shared library loading + * Database_capabilies: add HAS-VIEWS, HAS-CREATE/DESTROY-DB, + HAS-BOOLEAN-WHERE, TRANSACTION-CAPABLE + * tests/*.lisp: Check database capabilities and remove tests which + the database backend does not support + * sql/table.lisp: Add :TRANSACTIONS keyword to create table which + controls whether InnoDB tables will be created when supported on + the underlying MySQL server. + +20 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.9.0: New API function: LIST-TABLE-INDEXES, + supported by all database backends (except AODBC since + AODBC doesn't support index querying) + * db-obdc/odbc-sql.lisp: Support DATABASE-LIST-INDEXES + * db-odbc/odbc-api.lisp: Add %TABLE-STATISTICS function + to support index queries + * db-aodbc/aodbc-sql.lisp: Filter driver manager + "information_schema" tables from LIST-TABLES + * tests/test-basic.lisp: Remove table after testing + * tests/test-fddl.lisp: Test LIST-TABLE-INDEXES + * base/db-interface.lisp: Add DATABASE-UNDERLYING-TYPE + which gets the underlying type of database -- required + when dealing with ODBC databases and want to query + database capabilities. Added DB-USE-COLUMN-ON-DROP-TABLES? + as first database-backend specific feature. Is T on + :mysql, NIL on other backends. Change DROP-TABLE to + query this. + +19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.8.2: Build changes for FreeBSD [Slawek Zak] + +19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.8.1 + * db-odbc/odbc-sql.lisp: Add DATABASE-LIST function + * db-odbc/odbc-dbi.lisp: Add LIST-ALL-DATA-SOURCES function + +19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.8.0: New API function: LIST-DATABASES + * base/utils.lisp: Fix command-output on CMUCL/SBCL + * db-*/*-sql.lisp: Add new database-list function + * base/database.lisp: Add new LIST-DATABASES command + +18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.9 + * db-sqlite/sqlite-sql.lisp: Fix sequence functions. + * db-sqlite/sqlite-api-uffi.lisp: Print error string + correctly. + +18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.7 + * doc/csql.xml, examples/clsql-tutorial.lisp: Patch for db-kind + from Eduardo Munoz. + +17 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.6 + * base/objects.lisp, base/classes.lisp: Patch + for db-kind from Eduardo Munoz + +16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.5 + * base/basic-sql.lisp: Fix FLATP in QUERY + +16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.3: Implement RECONNECT + +15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.2: Fix ODBC on Lispworks Windows + +15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.1: Fix for new ODBC backend. + clsql-odbc now works on SBCL, CMUCL, OpenMCL + in addition to AllegroCL and Lispworks. + +15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.7.0: New backend: ODBC. Tests as + well as AODBC backend on Allegro,Lispworks. + SBCL and CMUCL don't work quite yet. Requires UFFI v1.4.11+ + * db-odbc/*.lisp: Add ODBC3 function SQLSetEnvAttr + to explicitly set ODBC2 support. Add BIGINT support. + Add result-types support. Added SQLTables. + Fix array type in fetch-all-rows. Make width + changable by database or query. + * base/utils.lisp: Add process functions + * base/package.lisp: Export utils to CLSQL-BASE-SYS + * db-aodbc: Implement sequence functions, + database-list-tables, database-list-attributes + * tests/utils.lisp: Add support for ODBC backend, + rework READ-SPECS to use +all-db-types+ + * db-mysql/mysql-sql.lisp: Use WITHOUT-INTERRUPTS + for SEQUENCE-NEXT + +13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.13. Requires UFFI version 1.4.9 + * db-odbc/*.lisp: Further porting. + Pre-alpha code! But, basic query is now working. + +13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.12 + * base/transactions.lisp: Add quote for macro + expansion of WITH-TRANSACTIONS [Time Howe] + * db-sqlite/sqlite-sql.lisp: Support memory database + in database-probe [Ng Pheng Siong] + * db-odbc/*.lisp: Initial port to UFFI of SQL-ODBC. + The DBI layer is not finished. + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.11 + * sql/objects.lisp: add :root-class functionality for + list-classes and add duration type support [Marcus Pearce] + * db-odbc: Add mid-level [DBI] layer + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.10 + * db-aodbc: Add methods for generic functions, some are + not yet implemented. + * clsql-odbc.asd, db-odbc/*.lisp: Initial start of ODBC + support + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.9 + * base/package.lisp: Add missing symbols [Marcus Pearce] + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.8 + * test/test-fddl.lisp: Cleanup fix [Marcus Pearce] + * utils/time.lisp: Multiple fixes [Marcus Pearce] + * sql/sql.lisp: Fix for truncate-database [Marcus Pearce] + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.7 + * sql/*.lisp: Remove schema versioning cruft + [Marcus Pearce] + * Makefile: Add classic subdirectory + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.6 + * sql/sql.lisp: Fix TRUNCATE command, bug reported + by Marcus Pearce + * sql/sql.lisp: Remove EXPLAIN function. Postgresql/Oracle + specific and easy for an application to directly support. + Idea from Marcus Pearce. + * base/basic-sql.lisp: Remove DESCRIBE-TABLE top-level + API as duplicates LIST-ATTRIBUTE-TYPES [Marcus Pearce]. + Keep low-level interface for future optimization + supporting LIST-ATTRIBUTE-TYPES command. + * Makefile: Add to db-sqlite and test directories. + Include them in top-level Makefile + +12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.5 + * sql/relations.lisp: Add missing file + * utils/time.lisp: Fixes/extensions [Marcus Pearce] + * test/test-time.lips: New file [Marcus Pearce] + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.4 + * test/test-init.lisp: Properly handle object + creation. Close database after use. + * sql/sql.lisp: Make DESCRIBE-TABLE a generic + function so can have methods specialized on + table being a string or an sql-table object. + * base/pool.lisp: Really fix CMUCL locking + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.3 + * test/test-init.lisp: Signal correctly + if any errors occurred in any test suite + * base/loop-extensions.lisp: Fix error + introduced for Lispworks + * base/pool.lisp: Fix locking for CMUCL + * base/objects.lisp: Remove schema-version cruft + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.2: New CLSQL API functions: + DESCRIBE-TABLE AND TRUNCATE-DATABASE + Currently, this are only supported on :postgresql + and :postgresql-socket + * base/database.lisp: automatically load ASDF system + in CONNECT if not already loaded + * base/tests.lisp: disconnect database after testing + * base/*.lisp: Remove CLOSED-DATABASE type in favor + of storing open/closed status in slot of database + * base/pool.lisp: Support locks for CMUCL, OpenMCL, SBCL + * db-postgresql/postgresql-sql.lisp: add DATABASE-RECONNECT, + DATABASE-DESCRIBE-TABLE + * db-sqlite/sqlite-sql.lisp: Add missing slots in database + * base/conditions: Remove duplicate condition + * db-*/*-sql.lisp: Fill new database slot DATABASE-TYPE + * base/recording.lisp: Add new :QUERY type for recording + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.1: documentation fixes, merged + classic-tests into tests + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.6.0 released: New API functions + CREATE-DATABASE, DESTORY-DATABASE, PROBE-DATABASE + * doc/ref_clsql.xml: Document new functions + * base/database.lisp: New API functions + * base/conditions.lisp: Added CLSQL-ACCESS-ERROR + * base/utils.lisp: Fix use of position-char. + Add COMMAND-OUTPUT used by backends for running + external programs. Fix parsing of SQL*NET-compatible + connection-specs. + * base/loop-extension.lisp: Simplify package use + for Lispworks and Allegro + * db-*/*-sql.lisp: Added DATABASE-CREATE, + DATABASE-DESTORY, PROBE-DATABASE methods + * tests/test-init.lisp, clasic-tests/tests.lisp: + Use destroy-database and create-database to ensure + testing with empty database + * tests/test-connection.lisp: Add tests for + parsing of string connection-specs + * examples/run-tests.sh: New file for running + test suite on all installed CL implementations + * examples/clsql-tutorial.lisp: moved from + doc directory + * examples/dot.clsql-tests.config: New file + giving an example test configuration + * test/README: Add notes about rtest/ptester + downloads and link to sample test configuration file. + +10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.5.1 released: + * tests/*.lisp: Rework so tests are run + on multiple backends automatically based + on the contents of ~/.clsql-tests.config. + Reuse helper functions from classic-tests. + * base/database.lisp: Support connection-spec + as string for CONNECT + * classic-tests/tests.lisp: Automatically + load database backends as needed. + +09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.5.0 released: + All tests for CLSQL and CLSQL-CLASSIC pass + on all platforms. + * base/loop-extension.lisp: Add Lispworks + loop-extension. Improve type specifying on + other platforms. + +09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.4.2 released: + loop extension now supported on Allegro, all + CLSQL-TESTS pass on Allegro. + * sql/metaclasses.lisp: Some optimization + of compute-slots, be selective when + ordered-class-slots needs to be called + instead of class-slots + * TODO: add URL with documentation on + extending Lispworks LOOP form + +09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.4.1 released: CLSQL-TESt suite passes + all tests for postgresql and CMUCL, SBCL, OpenMCL. + Allegro and Lispworks pass all tests except for + FDML/LOOP/1 since the loop extension have not yet + been ported to those implementions. + * sql/metaclasses.lisp: Added new slot to standard-db-class + to hold user-specified type. OpenMCL adjustments to compensate + for its type-predicate function. Since AllegroCL, Lispworks, + and OpenMCL have different slot orders, added compute-slots + and ordered-class-slots functions so their slot order matches + SBCL/CMUCL. + +08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) + * Version 2.4.0 released: All tests for clsql-classic now finish + correctly on Allegro, Lispworks, CMUCL, SBCL, OpenMCL for + mysql, postgresql, postgresql-sockets, and sqlite backends. + * db-mysql/mysql-sql.lisp: Fix array dereferencing + * classic-tests/tests.lisp: Fix package name of + number-to-sql-string. + * clsql.asd/clsql-tests.asd: Add support for asdf:test-op + * db-sqlite/sqlite-api-{uffi,sql}.lisp: Multiple UFFI fixes, + now passes tests on all support UFFI platforms. + * db-postgresql-socket/postgresql-socket-api.list: Ported to + SBCL and OpenMCL + * multiple: Finish renaming of :types keyword to :result-types for + greater CommonSQL compatibility, including documentation + * sql/basic-cmds.lisp: Remove obsolete file + 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) * Version 2.3.3 released * Fixes for sequences on mysql and sqlite [Marcus Pearce] * Fixes for uffi sqlite backend [Aurelio Bignoli / Kevin Rosenberg] * Fix for schema table [Marcus Pearce] - * Add loop extension support for SBCL [Marcus Pearce] + * Add loop extension support for SBCL and OpenMCL [Marcus Pearce] + * Fixes to test suite [Marcus Pearce] 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) * db-*/*-sql.lisp: Ensure that expr in database-query-result-set is a string + * Documentation integration 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net) * With for Marcus Pearce's excellent work, I've merged