1 27 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
3 * db-mysql/mysql-sql.lisp: Fix bug in transaction capability
6 24 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
7 * Version 2.9.4: Multiple changes to support Allegro's "modern"
8 lisp which uses a lowercase reader and has case-sensitive symbols
9 * sql/classes.lisp: Fix make-load-form bug for sql-ident-table
10 exposed by case-sensitive mlisp
12 22 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
13 * Version 2.9.3: All tests now pass on all platforms!
14 * LATEST-TEST-RESULTS: New file with summary of test results
15 * sql/generics.lisp: New file for generic function definitions.
16 * test/test-init.lisp: Display names of skipped tests.
17 Use unwind-protect to ensure disconnect
18 * sql/objects.lisp: Change database-type to database-underlying-type
19 so that actual database engine is properly identified
20 * db-odbc/odbc-api.lisp: Have default *time-conversion-function*
21 return an ISO timestring for compatibility with other drivers.
22 Workaround bug in MyODBC for LIST-TABLE-INDEXES
23 * test/test-fdml.lisp: Accomodate that odbc-postgresql driver
24 returns floating-point values for floor and truncate operations
25 * db-aodbc/aodbc-sql.lisp: Implement DATABASE-LIST-VIEWS
26 * tests/test-basic.lisp: Port to regression tester
27 * test/test-init.lisp: Output to *report-stream*
28 * docs/appendix.xml: Document ODBC and SQLite backends.
29 * sql/classes.lisp: Make output-sql require a database parameter.
30 This allows SQL generation to have the proper case to support
31 the differences in case handling between CommonSQL API,
32 Postgresql, MySQL, Oracle.
34 21 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
35 * Version 2.9.2: Improvments in database capability introspection
36 and querying. Support transactions in MySQL where available.
37 All tests now pass on MySQL and SQLite in addition to postgresql
38 and postgresql-socket. ODBC fails only with OODDL/TIME/1 and OODDL/TIME/2.
39 * db-odbc/odbc-sql.lisp: Add DATABASE-LIST-VIEWS. Better support
40 DATABASE-LIST-SEQUENCES.
41 * clsql-uffi.asd, clsql-mysql.asd: Improve shared library loading
42 * Database_capabilies: add HAS-VIEWS, HAS-CREATE/DESTROY-DB,
43 HAS-BOOLEAN-WHERE, TRANSACTION-CAPABLE
44 * tests/*.lisp: Check database capabilities and remove tests which
45 the database backend does not support
46 * sql/table.lisp: Add :TRANSACTIONS keyword to create table which
47 controls whether InnoDB tables will be created when supported on
48 the underlying MySQL server.
50 20 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
51 * Version 2.9.0: New API function: LIST-TABLE-INDEXES,
52 supported by all database backends (except AODBC since
53 AODBC doesn't support index querying)
54 * db-obdc/odbc-sql.lisp: Support DATABASE-LIST-INDEXES
55 * db-odbc/odbc-api.lisp: Add %TABLE-STATISTICS function
56 to support index queries
57 * db-aodbc/aodbc-sql.lisp: Filter driver manager
58 "information_schema" tables from LIST-TABLES
59 * tests/test-basic.lisp: Remove table after testing
60 * tests/test-fddl.lisp: Test LIST-TABLE-INDEXES
61 * base/db-interface.lisp: Add DATABASE-UNDERLYING-TYPE
62 which gets the underlying type of database -- required
63 when dealing with ODBC databases and want to query
64 database capabilities. Added DB-USE-COLUMN-ON-DROP-TABLES?
65 as first database-backend specific feature. Is T on
66 :mysql, NIL on other backends. Change DROP-TABLE to
69 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
70 * Version 2.8.2: Build changes for FreeBSD [Slawek Zak]
72 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
74 * db-odbc/odbc-sql.lisp: Add DATABASE-LIST function
75 * db-odbc/odbc-dbi.lisp: Add LIST-ALL-DATA-SOURCES function
77 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
78 * Version 2.8.0: New API function: LIST-DATABASES
79 * base/utils.lisp: Fix command-output on CMUCL/SBCL
80 * db-*/*-sql.lisp: Add new database-list function
81 * base/database.lisp: Add new LIST-DATABASES command
83 18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
85 * db-sqlite/sqlite-sql.lisp: Fix sequence functions.
86 * db-sqlite/sqlite-api-uffi.lisp: Print error string
89 18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
91 * doc/csql.xml, examples/clsql-tutorial.lisp: Patch for db-kind
94 17 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
96 * base/objects.lisp, base/classes.lisp: Patch
97 for db-kind from Eduardo Munoz
99 16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
101 * base/basic-sql.lisp: Fix FLATP in QUERY
103 16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
104 * Version 2.7.3: Implement RECONNECT
106 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
107 * Version 2.7.2: Fix ODBC on Lispworks Windows
109 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
110 * Version 2.7.1: Fix for new ODBC backend.
111 clsql-odbc now works on SBCL, CMUCL, OpenMCL
112 in addition to AllegroCL and Lispworks.
114 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
115 * Version 2.7.0: New backend: ODBC. Tests as
116 well as AODBC backend on Allegro,Lispworks.
117 SBCL and CMUCL don't work quite yet. Requires UFFI v1.4.11+
118 * db-odbc/*.lisp: Add ODBC3 function SQLSetEnvAttr
119 to explicitly set ODBC2 support. Add BIGINT support.
120 Add result-types support. Added SQLTables.
121 Fix array type in fetch-all-rows. Make width
122 changable by database or query.
123 * base/utils.lisp: Add process functions
124 * base/package.lisp: Export utils to CLSQL-BASE-SYS
125 * db-aodbc: Implement sequence functions,
126 database-list-tables, database-list-attributes
127 * tests/utils.lisp: Add support for ODBC backend,
128 rework READ-SPECS to use +all-db-types+
129 * db-mysql/mysql-sql.lisp: Use WITHOUT-INTERRUPTS
132 13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
133 * Version 2.6.13. Requires UFFI version 1.4.9
134 * db-odbc/*.lisp: Further porting.
135 Pre-alpha code! But, basic query is now working.
137 13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
139 * base/transactions.lisp: Add quote for macro
140 expansion of WITH-TRANSACTIONS [Time Howe]
141 * db-sqlite/sqlite-sql.lisp: Support memory database
142 in database-probe [Ng Pheng Siong]
143 * db-odbc/*.lisp: Initial port to UFFI of SQL-ODBC.
144 The DBI layer is not finished.
146 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
148 * sql/objects.lisp: add :root-class functionality for
149 list-classes and add duration type support [Marcus Pearce]
150 * db-odbc: Add mid-level [DBI] layer
152 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
154 * db-aodbc: Add methods for generic functions, some are
156 * clsql-odbc.asd, db-odbc/*.lisp: Initial start of ODBC
159 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
161 * base/package.lisp: Add missing symbols [Marcus Pearce]
163 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
165 * test/test-fddl.lisp: Cleanup fix [Marcus Pearce]
166 * utils/time.lisp: Multiple fixes [Marcus Pearce]
167 * sql/sql.lisp: Fix for truncate-database [Marcus Pearce]
169 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
171 * sql/*.lisp: Remove schema versioning cruft
173 * Makefile: Add classic subdirectory
175 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
177 * sql/sql.lisp: Fix TRUNCATE command, bug reported
179 * sql/sql.lisp: Remove EXPLAIN function. Postgresql/Oracle
180 specific and easy for an application to directly support.
181 Idea from Marcus Pearce.
182 * base/basic-sql.lisp: Remove DESCRIBE-TABLE top-level
183 API as duplicates LIST-ATTRIBUTE-TYPES [Marcus Pearce].
184 Keep low-level interface for future optimization
185 supporting LIST-ATTRIBUTE-TYPES command.
186 * Makefile: Add to db-sqlite and test directories.
187 Include them in top-level Makefile
189 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
191 * sql/relations.lisp: Add missing file
192 * utils/time.lisp: Fixes/extensions [Marcus Pearce]
193 * test/test-time.lips: New file [Marcus Pearce]
195 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
197 * test/test-init.lisp: Properly handle object
198 creation. Close database after use.
199 * sql/sql.lisp: Make DESCRIBE-TABLE a generic
200 function so can have methods specialized on
201 table being a string or an sql-table object.
202 * base/pool.lisp: Really fix CMUCL locking
204 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
206 * test/test-init.lisp: Signal correctly
207 if any errors occurred in any test suite
208 * base/loop-extensions.lisp: Fix error
209 introduced for Lispworks
210 * base/pool.lisp: Fix locking for CMUCL
211 * base/objects.lisp: Remove schema-version cruft
213 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
214 * Version 2.6.2: New CLSQL API functions:
215 DESCRIBE-TABLE AND TRUNCATE-DATABASE
216 Currently, this are only supported on :postgresql
217 and :postgresql-socket
218 * base/database.lisp: automatically load ASDF system
219 in CONNECT if not already loaded
220 * base/tests.lisp: disconnect database after testing
221 * base/*.lisp: Remove CLOSED-DATABASE type in favor
222 of storing open/closed status in slot of database
223 * base/pool.lisp: Support locks for CMUCL, OpenMCL, SBCL
224 * db-postgresql/postgresql-sql.lisp: add DATABASE-RECONNECT,
225 DATABASE-DESCRIBE-TABLE
226 * db-sqlite/sqlite-sql.lisp: Add missing slots in database
227 * base/conditions: Remove duplicate condition
228 * db-*/*-sql.lisp: Fill new database slot DATABASE-TYPE
229 * base/recording.lisp: Add new :QUERY type for recording
231 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
232 * Version 2.6.1: documentation fixes, merged
233 classic-tests into tests
235 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
236 * Version 2.6.0 released: New API functions
237 CREATE-DATABASE, DESTORY-DATABASE, PROBE-DATABASE
238 * doc/ref_clsql.xml: Document new functions
239 * base/database.lisp: New API functions
240 * base/conditions.lisp: Added CLSQL-ACCESS-ERROR
241 * base/utils.lisp: Fix use of position-char.
242 Add COMMAND-OUTPUT used by backends for running
243 external programs. Fix parsing of SQL*NET-compatible
245 * base/loop-extension.lisp: Simplify package use
246 for Lispworks and Allegro
247 * db-*/*-sql.lisp: Added DATABASE-CREATE,
248 DATABASE-DESTORY, PROBE-DATABASE methods
249 * tests/test-init.lisp, clasic-tests/tests.lisp:
250 Use destroy-database and create-database to ensure
251 testing with empty database
252 * tests/test-connection.lisp: Add tests for
253 parsing of string connection-specs
254 * examples/run-tests.sh: New file for running
255 test suite on all installed CL implementations
256 * examples/clsql-tutorial.lisp: moved from
258 * examples/dot.clsql-tests.config: New file
259 giving an example test configuration
260 * test/README: Add notes about rtest/ptester
261 downloads and link to sample test configuration file.
263 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
264 * Version 2.5.1 released:
265 * tests/*.lisp: Rework so tests are run
266 on multiple backends automatically based
267 on the contents of ~/.clsql-tests.config.
268 Reuse helper functions from classic-tests.
269 * base/database.lisp: Support connection-spec
270 as string for CONNECT
271 * classic-tests/tests.lisp: Automatically
272 load database backends as needed.
274 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
275 * Version 2.5.0 released:
276 All tests for CLSQL and CLSQL-CLASSIC pass
278 * base/loop-extension.lisp: Add Lispworks
279 loop-extension. Improve type specifying on
282 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
283 * Version 2.4.2 released:
284 loop extension now supported on Allegro, all
285 CLSQL-TESTS pass on Allegro.
286 * sql/metaclasses.lisp: Some optimization
287 of compute-slots, be selective when
288 ordered-class-slots needs to be called
289 instead of class-slots
290 * TODO: add URL with documentation on
291 extending Lispworks LOOP form
293 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
294 * Version 2.4.1 released: CLSQL-TESt suite passes
295 all tests for postgresql and CMUCL, SBCL, OpenMCL.
296 Allegro and Lispworks pass all tests except for
297 FDML/LOOP/1 since the loop extension have not yet
298 been ported to those implementions.
299 * sql/metaclasses.lisp: Added new slot to standard-db-class
300 to hold user-specified type. OpenMCL adjustments to compensate
301 for its type-predicate function. Since AllegroCL, Lispworks,
302 and OpenMCL have different slot orders, added compute-slots
303 and ordered-class-slots functions so their slot order matches
306 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
307 * Version 2.4.0 released: All tests for clsql-classic now finish
308 correctly on Allegro, Lispworks, CMUCL, SBCL, OpenMCL for
309 mysql, postgresql, postgresql-sockets, and sqlite backends.
310 * db-mysql/mysql-sql.lisp: Fix array dereferencing
311 * classic-tests/tests.lisp: Fix package name of
312 number-to-sql-string.
313 * clsql.asd/clsql-tests.asd: Add support for asdf:test-op
314 * db-sqlite/sqlite-api-{uffi,sql}.lisp: Multiple UFFI fixes,
315 now passes tests on all support UFFI platforms.
316 * db-postgresql-socket/postgresql-socket-api.list: Ported to
318 * multiple: Finish renaming of :types keyword to :result-types for
319 greater CommonSQL compatibility, including documentation
320 * sql/basic-cmds.lisp: Remove obsolete file
322 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
323 * Version 2.3.3 released
324 * Fixes for sequences on mysql and sqlite [Marcus Pearce]
325 * Fixes for uffi sqlite backend [Aurelio Bignoli / Kevin Rosenberg]
326 * Fix for schema table [Marcus Pearce]
327 * Add loop extension support for SBCL and OpenMCL [Marcus Pearce]
328 * Fixes to test suite [Marcus Pearce]
330 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
331 * db-*/*-sql.lisp: Ensure that expr in
332 database-query-result-set is a string
333 * Documentation integration
335 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
336 * With for Marcus Pearce's excellent work, I've merged
337 his clsql-usql port into clsql. The original clsql
338 interface is available in the clsql-classic package.
340 02 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
341 * Integrate patch from Marcus Pearce <ek735@soi.city.ac.uk>
342 adding further support for providing backend for UncommonSQL
344 10 Mar 2004 Kevin Rosenberg (kevin@rosenberg.net)
345 * Integrate patch from Aurelio Bignoli for SQLite backend
347 11 Nov 2003 Kevin Rosenberg (kevin@rosenberg.net)
348 * Converted documentation to XML format
349 * Made package installable with asdf-install
351 23 Jul 2003 Kevin Rosenberg (kevin@rosenberg.net)
352 * Add for-each-row macro
354 12 Dec 2002 Kevin Rosenberg (kevin@rosenberg.net)
355 * uffi/clsql-uffi.lisp: return NIL for numeric fields that are NULL
357 16 Oct 2002 Kevin Rosenberg (kevin@rosenberg.net)
358 * Add support for SBCL, OpenMCL, and SCL
359 * Add *load-truename* to search path for clsql's
362 01 Sep 2002 Kevin Rosenberg (kevin@rosenberg.net)
363 * Rework use of file types in .asd files
365 17 Aug 2002 Kevin Rosenberg (kevin@rosenberg.net)
366 * Add .asd definition files for ASDF users
368 31 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
369 * Restructure directories for Common Lisp Controller v3 compatibility
371 25 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
372 * Also change case of logical host in loader files
373 * Rework handling of logical pathnames
375 05 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
376 * Change case of logical host
378 14 May 2002 Kevin Rosenberg (kevin@rosenberg.net)
379 * clsql-base.system: Added base package that can be used without
380 high-level SQL commands. Used for adding support for UncommonSQL.
381 * *.system: Reworked logical pathnames to be more consistent with
382 Common Lisp Controller.
383 * debian/*: Completed initial Debian support
385 10 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
387 * sql/transactions.cl:
388 Added transaction support. Functions/macros added:
389 with-transaction, commit-transaction, rollback-transaction,
390 add-transaction-commit-hook, add-transaction-rollback-hook
392 04 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
396 Added pool support in connect/disconnect and with-database.
397 Removed with-db-from-pool as with-database can now works with the connections pool
399 01 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
404 Completed connection pool.
405 Added with-db-from-pool macro.
407 27 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
409 Added initial support for connection pool
410 * sql/transactions.cl
411 Took transaction code from UncommonSQL and integrated
412 into CLSQL code. See file for disclaimer about why this
415 23 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
416 * interfaces/postgresql/postgresql-sql.cl:
417 Fix keyword typo in database-read-large-object
418 * interfaces/mysql/mysql-loader.cl
420 * test-suite/tester-clsql.cl
421 Fix type coercion of double-float
423 Added debian docbook catalog, made it the default
425 19 Apr 2002 Marc Battyani (marc.battyani@fractalconcept.com)
426 * interface/postgresql/postgresql-api.cl:
427 * interface/postgresql/postgresql-sql.cl:
429 * sql/db-interface.cl:
430 Added large objects support for postgresql.
432 07 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
433 * src/postgresql-socket/postgresql-socket-api.cl:
434 Fixed find-foreign-function call, eliminated crypt warning
436 Multiple improvements
438 Moved functionality from low-level interfaces to this file
439 via generic functions
440 * test-suite/tester.cl:
441 Added test with acl-compat-tester, moved others to old-tests
444 06 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
446 Reinstated commented out sections
447 * interfaces/postgresql/postgresql-loader.cl:
448 * interfaces/mysql/mysql-loader.cl:
449 Updated find-forieign-library support.
450 * interfaces/postgresql-socket/postgresql-socket-package.cl:
451 Fixed require form for Lispworks (Thanks Marc Battyani!)
452 * interfaces/postgresql-socket/postgresql-socket-api.cl:
453 Fixed eval of def-function for crypt library.
455 31 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
456 * Added interface to support USQL high-level rouines
458 29 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
459 * Separated db-interface and conditions from sql/sql.cl
460 * Improved foreign library loading testing
461 * interfaces/postgresql/postgresql-api.cl
462 Added PQisBusy function
463 * interfaces/clsql-uffi/clsql-uffi.cl
464 Fixed sign error for 64-bit processing
466 27 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
467 * interfaces/postgresql-socket/postgresql-socket-api.cl:
468 Fixes to read-double-from-socket. Added 64-bit integer support.
469 * test-suite/xptest-clsql.cl
470 Added testint for 64-bit integers
471 * Additons to installation docs
473 26 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
474 * interfaces/postgresql-socket/postgresql-socket-api.cl:
475 Implemented direct socket reading for field type :double
476 * Added usage information for :types to documentation
477 * interfaces/mysql/mysql-sql.cl: Fixed type specifiers in atoi,
479 * interfaces/clsql-uffi: Created new directory. Split common
480 interface routines that use UFFI into this package. Required
481 especially to support direct reading of 64-bit integers into
482 bignums and bypassing temporary strings.
483 * test-clsql.cl: Updated to test postgresql-socket's
484 read-double-from-socket function.
485 * test-suite/xptest-clsql.cl
486 Started work on test suite
488 25 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
489 * interfaces/mysql/mysql-api.cl: Added mysql-fetch-fields,
490 mysql-fetch-field-direct Got :auto types working
491 * interfaces/postgresql/postgresql-api.cl
492 * interfaces/postgresql-socket/postgresql-socket-api.cl
493 Added pgsql-field-types enum. Got :auto types working.
495 Renamed :field-types to :types.
497 24 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
498 * Added field-types parameter to query, database-query,
499 database-query-result-set, map-query. Haven't added code
500 to utilize field types, yet.
501 * Changed postgresql-socket result set from cons to a structure
502 * Updated test-clsql.cl to use automated testing with a config
504 * Changed return types of field accessors from cstring to
505 (* :unsigned-char). This prepares for being able to use specified
506 type conversions when taking field data into lisp.
507 * Added field-type processing for most interfaces. Not done yet.
509 23 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
510 * doc/ref.sgml: Updated MAP-QUERY example to use
511 *read-default-float-format* (John Foderaro)
512 * Extensive work to foreign library loaders and .system files to
513 check for successful loading of foreign libraries.
514 * Modified test-clsql.cl to allow more modularity and
515 automated testing in future release.
516 * mysql/mysql-sql.lisp: Added field types
518 01 Jan 2002 Kevin Rosenberg (kevin@rosenberg.net)
519 * mysql/mysql-sql.lisp:
520 - Added support for Allegro CL and Lispworks using UFFI layer
521 - Changed database-connect to use mysql-real-connect. This way,
522 can avoid using double (unwind-protect)
523 - Changed database-connect to have MySQL library allocate space
524 for MYSQL structure. This will make the code more robust in
525 the event that MySQL library changes the size of the mysql-mysql