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