8 Jun 2004 Kevin Rosenberg <kevin@rosenberg.net>
	* 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 <m.t.pearce@city.ac.uk> 
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <m.t.pearce@city.ac.uk> 
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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 <kevin@rosenberg.net>
	* 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
	* 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.
	No need to specialize finalize-inheritance for openmcl.
	* tests/test-*.lisp: Rename fields so that joins occur on
	fields with different names. This ensures that join code is
	selecting the proper name.
	* test/test-init.lisp: Add :base-table for employee-address
	view class for testing.
	* sql/objects.lisp: Use view-table rather than name of table
	in a number of places to fix errors noted with using :base-table.

6 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
        * sql/objects.lisp: replace *update-records-on-make-instance* with 
        *db-auto-sync* which also controls both automatic creation of 
        new records on creation of new instance and updating of record 
        fields on setting of instance slots (as suggested by Edi Weitz). 
        * tests/test-init.lisp: replace *update-records-on-make-instance* 
        with *db-auto-sync*. 
        * sql/package.lisp: replace *update-records-on-make-instance* 
        with *db-auto-sync*. 
        * TODO: replace *update-records-on-make-instance* with *db-auto-sync*. 
        * sql/objects.lisp: remove redundant rebindings of *db-initializing* 
        and *default-database* in FIND-ALL. 
	* sql/package.lisp: import time functions from CLSQL-BASE. 
	* tests/test-time.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
	* tests/test-fdml.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
	* tests/test-init.lisp: replace CLSQl-BASE package qualifier with CLSQL. 
	* tests/test-ooddl.lisp: replace CLSQl-BASE package qualifier with 
	CLSQL. 

4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* sql/classes.lisp: Add SQL-OBJECT-QUERY type. Have [select 'class]
	now return a sql-object-query type rather than directly performing a query.
	This improves CommonSQL conformance.
	* sql/sql.lisp:	Add new QUERY method for SQL-OBJECT-QUERY. Move
	from basic/basic-sql.lisp the DO-QUERY and MAP-QUERY since they now
	depend on sql-object-query-type.
	* sql/loop-extensions.lisp: Move from base package
	* classic/package.lisp: remove references to map-query and do-query

4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* TODO: New section on optimizations, especially optimizing JOINs.
	* sql/objects.lisp: Have :target-slot return of list of lists rather
	than a list of cons pairs to be conformant with CommonSQL.
	Make :target-slot much more efficient by using a SQL inner join
	statement and just requiring one SQL query. Add :retrieval :deferrred
	to target-slot joins. Add placeholder for update-objects-join.
	* sql/classes.lisp: Add :inner-join and :on slots to sql-query class
	and process them for query output-sql. 

4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Version 2.10.11
	* base/basic-sql.lisp: Avoid multiple evaluation
	of query-expression in DO-QUERY
	* sql/objects.lisp: Make SELECT a normal function.
	SELECT now accepts type-modified database identifiers, such as
        [foo :string] which means that the values in column foo are returned 
        as Lisp strings. Add new *update-records-on-make-instance* special
	variable controlling automatic creation of new instances. Add missing
	RESULT-TYPES keyword to FIND-ALL. Add :target-slot support.
	* sql/packages.lisp: Export *update-records-on-make-instance* 
	* test/test-oodml.lisp: Add tests for :target-slot and many-to-many
	selections.
	* test/test-fdml.lisp: Add tests for type-modified
	database identifiers.
	* test/test-init.lisp: Stop using add-relation since implementing
	many-to-many joins. Use *update-records-on-make-instance* 
	to automatically store records on instance creation. Add many-to-many
	employee-address view-class.
	
4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Version 2.10.10
	* base/loop.lisp: Add object iteration. Use :result-type
	:auto for result-set. Remove 
	duplicate (and non-correct) code for non-list variables by
	simply making an atom variable into a list. 
	* sql/package.lisp: Remove unnecessary clsql-sys package
	and replace it with clsql.
	* sql/metaclasses.lisp: Properly store specified-type from
	direct-slot-definition and then store translated type in
	effective-slot-definition
	* sql/classes.lisp: Don't output type in sql-output
	for SQL-IDENT-ATTRIBUTE. This is in preparation for supporting
	[foo :integer] as fields in SELECT.
	* sql/query.lisp: Set default for :result-types to :auto in
	FDML QUERY.
	* sql/objects.lisp: Use specified-type when invocating 
	database-get-type-specifier. def-view-class macro now returns
	the class instance.
	* base/basic-sql.lisp: Make :AUTO the default value for
	:RESULT-TYPES for MAP-QUERY and DO-QUERY.
	* sql/objects.lisp: Add bigint type
	* test/tests-basic.lisp: Add tests for :result-types for
	MAP-QUERY and DO-QUERY
	* test/test-fdml.lisp: Add test for result-types in LOOP
	and also using single symbol rather than a list for variables.
	Add test that default :result-types is auto for FDML QUERY.
	* test/test-syntax.lisp: Don't expect TYPE in the SQL-OUTPUT
	of SQL-IDENT-ATTRIBUTE.
	* test/test-oodml.lisp: Enable OO loop iteration test,
	modify it so it doesn't depend on boolean where.
	
4 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
	* Version 2.10.9
	* sql/objects.lisp: added derived type specifier for universal time. 
	* sql/package.lisp: added #:universal-time to clsql-sys exports. 
	* tests/test-oodml.lisp: added test for translation of boolean slots 
	in SELECT with object queries. 
	
3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* db-odbc/odbc-api.lisp: Fix changing nil to "NIL" 
	for odbc/postgresql backend.
	* db-odbc/odbc-sql.lisp: Fix ATTRIBUTE-TYPE so that
	it can handle NIL values from the ODBC driver
	* tests/benchmarks.lisp: New file with initial
	benchmark suite
	* sql/relations.lisp: fix to add subclassing support,
	minor optimizations [Edi Weitz]
	
3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Version 2.10.8	
	* base/conditions.lisp: Add *backend-warning-behavior*
	special variable.
	* db-postgresql-socket/postgresql-socket-sql.lisp:
	Honor value of *backend-warning-behavior*
	* tests/test-fdml.lisp: Remove test of raw boolean value
	since different backends handle this differently. Add
	test for :column attribute.
	* tests/test-oodml.lisp: Add tests for boolean slot value
	and for :void-value attribute
	* tests/test-init.lisp: Use *backend-warning-behavior*
	to suppress warnings from postgresql about implicitly
	creating primary key in tables. Add new address table.
	
3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Version 2.10.7
	* db-odbc/odbc-dbi.lisp: Convert TINYINT to integers when
	result-types is :auto
	* sql/objects.lisp: Properly handled writing/reading Boolean
	values from SQL database when retrieving objects.
	* test/test-fdml.lisp: Add another test for boolean results
	* test/utils.lisp: Fix incorrect declaration
	
2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk) 
	* Version 2.10.6
	* sql/generics.lisp: add generic function for SELECT. 
	* sql/objects.lisp: make SELECT a method specialisation. 
	* sql/classes.lisp: MAKE-QUERY now calls SELECT if the selections 
	referred to are View Classes. 
	* base/basic-sql.lisp: in DO-QUERY and MAP-QUERY, if the 
	query-expression arg evaluates to a list, then we have an object 
	query. 
	* tests/test-oodml.lisp: add tests for DO-QUERY and MAP-QUERY with 
	object queries. 
	* TODO: remove items done and add a todo for SELECT. 
	* sql/objects.lisp: SELECT takes a :field-names arg to pass on to 
	QUERY. 
	* sql/sql.lisp: add :field-names arg to QUERY. 
	* tests/test-fdml.lisp: minor rework to use :field-names arg to 
	SELECT. 

2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
	* sql/objects.lisp: fix bug in FIND-ALL when SELECT called with 2 
	or more View Classes. 
	* sql/objects.lisp: make the :flatp argument to SELECT work with 
	object queries. 
	* sql/objects.lisp: make SELECT accept a :result-types argument 
	(defaults to :auto) which is passed on to QUERY.  
	* sql/objects.lisp: SELECT returns field-names as a second value. 
	* tests/test-ooddl.lisp: add flatp arg to SELECT calls as appropriate. 
	* tests/test-fdml.lisp: add flatp/result-types arguments to calls 
	to SELECT and take only first value as appropriate.
	* tests/test-fdml.lisp: add two new tests for query result coercion 
	and the field-names returned as a second value from SELECT. 
	* tests/test-oodml.lisp: add flatp arg to SELECT calls as appropriate. 
	
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
	* classic/sql.lisp: Move large object support into base, leaving
	classic without any functionality that is provided in the clsql
	system.
	* classic/package.lisp: Rename clsql-classic-sys package to
	its former nickname of clsql-classic
	
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 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
	his clsql-usql port into clsql. The original clsql
	interface is available in the clsql-classic package.

02 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Integrate patch from Marcus Pearce <ek735@soi.city.ac.uk>
	adding further support for providing backend for UncommonSQL

10 Mar 2004 Kevin Rosenberg (kevin@rosenberg.net)
	* Integrate patch from Aurelio Bignoli for SQLite backend

11 Nov 2003 Kevin Rosenberg (kevin@rosenberg.net)
	* Converted documentation to XML format
	* Made package installable with asdf-install

23 Jul 2003 Kevin Rosenberg (kevin@rosenberg.net)
	* Add for-each-row macro

12 Dec 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* uffi/clsql-uffi.lisp: return NIL for numeric fields that are NULL
	
16 Oct 2002 Kevin Rosenberg (kevin@rosenberg.net)
        * Add support for SBCL, OpenMCL, and SCL
	* Add *load-truename* to search path for clsql's
	compiled libraries.

01 Sep 2002 Kevin Rosenberg (kevin@rosenberg.net)
        * Rework use of file types in .asd files

17 Aug 2002 Kevin Rosenberg (kevin@rosenberg.net)
        * Add .asd definition files for ASDF users

31 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
        * Restructure directories for Common Lisp Controller v3 compatibility

25 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Also change case of logical host in loader files
	* Rework handling of logical pathnames
	
05 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Change case of logical host
	
14 May 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* clsql-base.system: Added base package that can be used without
	high-level SQL commands. Used for adding support for UncommonSQL.
	* *.system: Reworked logical pathnames to be more consistent with
	Common Lisp Controller.
	* debian/*: Completed initial Debian support
	
10 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
	* sql/classes.cl:
	* sql/transactions.cl:
	Added transaction support. Functions/macros added:
	with-transaction, commit-transaction, rollback-transaction,
	add-transaction-commit-hook, add-transaction-rollback-hook

04 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
	* sql/sql.cl:
	* sql/pool.cl:
	* sql/functional.cl:
	Added pool support in connect/disconnect and with-database.
	Removed with-db-from-pool as with-database can now works with the connections pool

01 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
	* sql/sql.cl:
	* sql/pool.cl:
	* sql/classes.cl:
	* sql/package.cl:
	Completed connection pool.
	Added with-db-from-pool macro.
	
27 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Multiple files:
	Added initial support for connection pool
	* sql/transactions.cl
	Took transaction code from UncommonSQL and integrated
	into CLSQL code. See file for disclaimer about why this
	was added.

23 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* interfaces/postgresql/postgresql-sql.cl:
	Fix keyword typo in database-read-large-object
	* interfaces/mysql/mysql-loader.cl
	Fix loading on Win32
	* test-suite/tester-clsql.cl
	Fix type coercion of double-float
	* doc/*
	Added debian docbook catalog, made it the default
	
19 Apr 2002 Marc Battyani (marc.battyani@fractalconcept.com)
	* interface/postgresql/postgresql-api.cl:
	* interface/postgresql/postgresql-sql.cl:
	* sql/sql.cl:
	* sql/db-interface.cl:
	Added large objects support for postgresql.

07 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* src/postgresql-socket/postgresql-socket-api.cl:
	Fixed find-foreign-function call, eliminated crypt warning
	* Makefiles:
	Multiple improvements
	* sql/usql.cl:
	Moved functionality from low-level interfaces to this file
	via generic functions
	* test-suite/tester.cl:
	Added test with acl-compat-tester, moved others to old-tests
	directory.
	
06 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* src/usql.cl:
	Reinstated commented out sections
	* interfaces/postgresql/postgresql-loader.cl:
	* interfaces/mysql/mysql-loader.cl:
	Updated find-forieign-library support.
	* interfaces/postgresql-socket/postgresql-socket-package.cl:
	Fixed require form for Lispworks (Thanks Marc Battyani!)
	* interfaces/postgresql-socket/postgresql-socket-api.cl:
	Fixed eval of def-function for crypt library.
		
31 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Added interface to support USQL high-level rouines
	
29 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Separated db-interface and conditions from sql/sql.cl
	* Improved foreign library loading testing
	* interfaces/postgresql/postgresql-api.cl
	Added PQisBusy function
	* interfaces/clsql-uffi/clsql-uffi.cl
	Fixed sign error for 64-bit processing
	
27 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* interfaces/postgresql-socket/postgresql-socket-api.cl:
	Fixes to read-double-from-socket. Added 64-bit integer support.
	* test-suite/xptest-clsql.cl
	Added testint for 64-bit integers
	* Additons to installation docs
	
26 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* interfaces/postgresql-socket/postgresql-socket-api.cl:
	Implemented direct socket reading for field type :double
	* Added usage information for :types to documentation
	* interfaces/mysql/mysql-sql.cl: Fixed type specifiers in atoi,
	atol, atof calls
	* interfaces/clsql-uffi: Created new directory. Split common
	interface routines that use UFFI into this package. Required
	especially to support direct reading of 64-bit integers into
	bignums and bypassing temporary strings.
	* test-clsql.cl: Updated to test postgresql-socket's
	read-double-from-socket function.
	* test-suite/xptest-clsql.cl
	Started work on test suite

25 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* interfaces/mysql/mysql-api.cl: Added mysql-fetch-fields,
	mysql-fetch-field-direct Got :auto types working
	* interfaces/postgresql/postgresql-api.cl
	* interfaces/postgresql-socket/postgresql-socket-api.cl
	Added pgsql-field-types enum. Got :auto types working.
	* multiple-files
	Renamed :field-types to :types.
	
24 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* Added field-types parameter to query, database-query,
	database-query-result-set, map-query. Haven't added code
	to utilize field types, yet.
	* Changed postgresql-socket result set from cons to a structure
	* Updated test-clsql.cl to use automated testing with a config
	file
	* Changed return types of field accessors from cstring to
	(* :unsigned-char).  This prepares for being able to use specified
	type conversions when taking field data into lisp.
	* Added field-type processing for most interfaces. Not done yet.
	
23 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* doc/ref.sgml: Updated MAP-QUERY example to use
	*read-default-float-format* (John Foderaro)
	* Extensive work to foreign library loaders and .system files to
	check for successful loading of foreign libraries.
	* Modified test-clsql.cl to allow more modularity and
	automated testing in future release.
        * mysql/mysql-sql.lisp: Added field types
	
01 Jan 2002 Kevin Rosenberg (kevin@rosenberg.net)
	* mysql/mysql-sql.lisp:
	- Added support for Allegro CL and Lispworks using UFFI layer
	- Changed database-connect to use mysql-real-connect. This way,
	  can avoid using double (unwind-protect)
	- Changed database-connect to have MySQL library allocate space
	  for MYSQL structure. This will make the code more robust in
	  the event that MySQL library changes the size of the mysql-mysql
	  structure.


