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