r9199: fold clsql-base and clsql-base-sys into clsql-base
[clsql.git] / ChangeLog
index 0ef29d1ea432c0611806790d1521dd054cf79427..42a0b4e6e7eb7290ffa9bb732eeca9d19f30b9a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,293 @@
+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
@@ -5,7 +295,7 @@
        * 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 CMUCL locking
+       * base/pool.lisp: Really fix CMUCL locking
        
 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 2.6.3