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