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