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 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.