1 22 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
2 * sql/generics.lisp: reworked docstrings. Remove generics for
3 ADD-TO-RELATION and REMOVE-FROM-RELATION.
4 * sql/objects.lisp: reworked docstrings. Changed UPDATE-OBJECT-JOINS
5 to UPDATE-OBJECTS-JOINS for CommonSQL compatibility.
6 * sql/package.lisp: Changed UPDATE-OBJECT-JOINS to UPDATE-OBJECTS-JOINS
7 for CommonSQL compatibility. Remove ADD-TO-RELATION and
9 * tests/test-oodml.lisp: Changed UPDATE-OBJECT-JOINS to
10 UPDATE-OBJECTS-JOINS for CommonSQL compatibility.
11 * doc/TODO: added notes about extra slot options to DEF-VIEW-CLASS.
12 * sql/conditions.lisp: add documentation for conditions. Add
13 SQL-TIMEOUT-ERROR and SQL-FATAL-ERROR for CommonSQL compatibility.
15 21 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
16 * sql/basic-sql.lisp: reworked docstrings.
17 * sql/transactions.lisp: reworked docstrings.
18 * sql/sql.lisp: reworked docstrings.
19 * sql/initialize.lisp: reworked docstrings. INITIALIZE-DATABASE-TYPE
20 sets *DEFAULT-DATABASE-TYPE* for CommonSQL compatibility.
21 * sql/database.lisp: reworked docstrings.
22 * doc/TODO: added notes about START-TRANSACTION and IN-TRANSACTION-P
23 and FDML extensions and database extensions.
25 20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
26 * db-oracle/oracle-sql: Use clsql-specific error conditions. Use owner keyword.
27 * db-oracle/make9.sh: add makefile for building with Oracle 9 client
29 * sql/table.lisp: Add logic for dealing with Oracle 10g vs. previous
30 Oracle versions with the PURGE option required for drop table. This needs
31 to be converted to a generic function and moved to db-oracle/oracle-sql.lisp
33 20 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
34 * sql/classes.lisp: remove unused PARAMS slot in SQL-IDENT-ATTRIBUTE.
35 * sql/syntax.lisp: remove unused PARAMS keyword arg to SQL-EXPRESSION.
36 * sql/table.lisp: reworked docstrings.
37 * sql/objects.lisp: moved *default-update-objects-max-len* here from
39 * doc/TODO: notes about :if-does-not-exist arg to DROP-TABLE,
40 DROP-VIEW and DROP-INDEX and the use of the :transactions and
41 :constraints keyword args to CREATE-TABLE.
42 * sql/classes.lisp: the DESCRIPTION argument to CREATE-TABLE is now
43 CommonSQL compatible with respect to column constraints.
45 20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
46 * sql/oracle-sql.lisp: Now compiles and runs on SBCL.
47 Requires UFFI 1.5.0 or higher
49 20 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
51 * sql/conditions.lisp: Fix cerror
53 19 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
54 * Version 2.10.18 released: New condition hierarchy to be compatible
55 with CommonSQL -- not backward compatible with previous CLSQL.
56 * sql/db-interface.lisp: Add more default methods
57 * sql/objects.lisp: Add explicit table name to order-by parameters
58 in find-all when only one table to avoid selecting a duplicate row.
59 Fix error in FIND-ALL when using :order-by such as (([foo] :asc))
60 as previous logic was adding two fields (foo asc) to SELECT query.
61 Make :result-types :auto be the default for object selections.
62 Properly handle caching key when using multiple order-by with asc/desc
64 * db-oracle/*.lisp: Much improvements, now passes 90% of test suite
66 19 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
67 * sql/recording.lisp: reworked docstrings.
68 * sql/syntax.lisp: reworked docstrings.
69 * doc/TODO: added notes about extensions to SQL-RECORDING-P and the
70 SQL syntax state functions being macros.
72 19 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
73 * sql/package.lisp: Export initialize-database-type and
74 *initialize-database-types* from CLSQL package.
75 * sql/conditions.lisp: Add new CommonSQL compatible conditions,
76 remove old CLSQL conditions.
77 * sql/loop-extensions.lisp: Make errors of type sql-user-error
78 * */*.lisp: Convert to from old to new conditions
80 18 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
81 * sql/table.lisp: Add PURGE to drop command for oracle 10g backend.
82 To handle this difference, will need to add a new database-drop-table
84 * db-oracle/oracle-sql.lisp: Move server-version and
85 major-version-number to database object to allow multiple connections
86 to Oracle servers of different versions.
88 18 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
89 * TODO: moved notes about backends to doc/TODO.
90 * doc/TODO: added notes about backends and select extensions.
91 * sql/base-classes.lisp: remove obsolete schema slot in database
94 16 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
95 * db-oracle/oracle-api: Add OCIServerVersion
96 * db-oracle/oracle-sql: Query and store server version on connect
97 * sql/db-interface.lisp: Add new db-type-has-bigint? generic
98 function to handle OCI's lack of bigint support
99 * test/test-basic.lisp: Separate bigint testing
100 * test/test-utils.lisp: Add oracle to specs and list of backends
102 * test/test-fdml.lisp: Added FDML/SELECT/34 to test
103 run-time instantiation of variables in reader macros.
104 * TODO: Remove item already complete. Add note about
107 16 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
108 * sql/syntax.lisp: added condition to the reader macro to treat [*]
109 as a column identifier (rather than an operation) for CommonSQL
111 * tests/test-fdml.lisp: add tests for ORDER-BY and SET-OPERATION
112 keword args to SELECT, [*] as column identifier, new MAP-QUERY
113 behaviour and the ANY and ALL operators in subqueries.
114 * tests/test-init.lisp: add set-operation and subquery tests to
115 appropriate skip lists.
116 * sql/objects.lisp: remove redundant and non CommonSQL compatible
117 ORDER-BY-DESCENDING keyword argument for SELECT.
118 * sql/classes.lisp: remove redundant and non CommonSQL compatible
119 ORDER-BY-DESCENDING keyword argument for SELECT.
120 * tests/test-oodml.lisp: add test for ORDER-BY keyword to SELECT
123 15 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
124 * sql/db-interface.lisp: Add new db-type-has-union?
125 since Mysql 3.23 does not support unions.
126 * sql/test-init.lisp: Don't try union tests on database
127 backends which do not support it.
128 * db-oracle/*.lisp: initial port to UFFI
129 * sql/objects.lisp: implement UPDATE-OBJECT-JOINS,
130 implement REFRESH for SELECT.
131 * tests/test-oodml.lisp: Add tests for deferred retrieval,
132 caching, refresh, and update-object-joins
133 * tests/test-init.lisp: Add deferred-employee-address class
135 15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
136 * sql/operations.lisp: make MINUS operator a synonym for EXCEPT. Add
137 COALESCE operator and make NVL a synonym for this. Make ANY, SOME,
138 ALL and EXISTS generate function expressions so they output the
140 * sql/classes.lisp: SELECT now generates appropriate SQL when
141 passed the SET-OPERATION and ALL keyword arguments.
142 * sql/classes.lisp: the ORDER-BY keyword argument to SELECT now
143 accepts ordering constraints as pairs of the form (column direction)
144 where direction may be :ASC or :DESC.
145 * tests/test-syntax.lisp: added tests for MINUS and COALESCE/NVL.
146 Correct tests for ANY, SOME, ALL and EXISTS.
147 * tests/test-fdml.lisp: added test for COALESCE.
148 * sql/sql.lisp: MAP-QUERY now applies FUNCTION to QUERY-EXPRESSION
149 using funcall unless QUERY-EXPRESSION returns one column and its
150 FLATP slot is not nil in which case apply is used.
151 * tests/test-basic.lisp: modified calls to MAP-QUERY to reflect the
153 * TODO: remove items done.
154 * db-postgresql/postgresql-sql.lisp: no need to reverse results in
155 DATABASE-LIST-ATTRIBUTES.
156 * db-postgresql-socket/postgresql-socket-sql.lisp: no need to reverse
157 results in DATABASE-LIST-ATTRIBUTES.
159 15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
160 * sql/classes.lisp: SELECT now accepts table identifiers as strings
161 for CommonSQL compliance. Add support for qualified sql identifiers
162 with aliased table names.
163 * tests/test-fdml.lisp: added tests for table identifiers as strings
164 in SELECT and for aliased definitions.
165 * tests/test-syntax.lisp: added tests for alias definitions.
167 15 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
168 * sql/sql.lisp: PRINT-QUERY now calls QUERY with result-types and
169 field-names set to nil.
170 * sql/sql.lisp: PRINT-QUERY now computes column sizes correctly
171 with null attribute values.
172 * sql/operations.lisp: modify SQL concatenation operator to accept
174 * sql/syntax.lisp: modify sql reader macro function to accept
175 unescaped sql concatenation operator.
176 * tests/test-fdml.lisp: unescape sql concatenation operator.
177 * tests/test-syntax.lisp: unescape sql concatenation operator.
178 * TODO: remove items done. Add notes about SQLITE/MYSQL backends.
179 Note to add test for universal-time. Note about difference from
180 CommonSQL in transaction handling.
182 13 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
183 * tests/test-init.lisp: Add deferred-employee-address
185 * tests/test-oodml.lisp: Add deferred retrieval testgs
187 12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
189 * LATEST-TEST-RESULTS: Run on all platforms, add AMD64
190 * sql/sql.lisp: Add FOR-EACH-ROW macro from clsql-classic/sql.lisp
191 * db-sqlite/sqlite-uffi-api.lisp: Fix row-pointer type
192 * *: Fix minor style warnings
193 * clsql-classic: Remove system and subdirectory
194 * clsql-base: Remove system and subdirectory and
195 fold into clsql system
196 * doc/intro.xml: Remove reference to old clsql-base. Add x86_64
197 as supported platform.
199 12 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
200 * Version 2.10.16: CLSQL now fully supports AllegroCL AMD64
201 * db-odbc/odbc-api.lisp: work around return-type bug [spr28889] in
202 Allegro 7.0beta AMD64
203 * db-odbc/*.lisp: Add a layer of indirection to foreign-type
204 of ODBC longs since this type can vary on 64-bit platforms depending
205 upon the compilation options of unixODBC.
206 * db-mysql/mysql-api.lisp: Fix int vs. long slots in foreign
207 structures found by testing with AllegroCL 7.0b AMD64.
208 * db-*/*-loader.lisp: Load 64-bit libraries on 64-bit platorms
209 * sql/objects.lisp: Simple implementation of UPDATE-OBJECT-JOINS.
210 Initial caching support for SELECT
211 * tests/test-oodml.lisp: Avoid using cache when testing select.
212 * sql/kmr-mop.lisp: Explicitly check slot order and
213 store as a cl:*feature*
214 * sql/recording.lisp: Remove additional types to
215 increase CommonSQL conformance.
216 * tests/test-init.lisp: Change a :column attribute
217 to test symbols as value
218 * sql/relations.lisp: Remove functions since they don't support
219 many to many relationships.
220 * examples/clsql-tutorial.lisp, doc/csql.lisp: Remove use
221 of add-to-relations function and replace with explicit field settings.
222 * base/classes.lisp: Remove obsolute query-stream. Add record-caches slot.
224 9 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
226 * LATEST-TEST-RESULTS: results with current version
227 * sql/kmr-mop.lisp: Make CMUCL reader macros specific for cmu18
228 since cmu19 has opposite order of class slots.
229 * sql/objects.lisp: Fix (setf slot-value-using-class) for Lispworks
230 * tests/test-fdml.lisp: Renumber SELECT tests to avoid overwriting
232 * tests/test-init.lisp: Check test-database-underlying-type for
235 8 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
236 * sql/operations.lisp: complete remaining operations for the sql
237 syntax: SUBSTR, SOME, ORDER-BY, GROUP-BY, NULL, DISTINCT, EXCEPT,
238 UNION, INTERSECT, BETWEEN.
239 * sql/classes.lisp: add new classes: SQL-BETWEEN-EXPRESSION,
240 SQL-QUERY-MODIFIER-EXPRESSION and SQL-SET-EXPRESSION.
241 * tests/test-syntax.lisp: add tests for new operations.
242 * tests/test-fdml.lisp: add tests for queries based on new operations.
243 * tests/test-init.lisp: add select/20 to tests skipped for sqlite and
244 select/20, query/5, query/7 and query/8 to tests skipped by mysql.
245 * TODO: removed entries done.
247 8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
248 * tests/benchmarks.lisp: Add immediate vs. deferred
251 8 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
252 * Version 2.10.13: Now works on openmcl 0.14.2
253 * sql/objects.lisp: Add :retrieval :immediate for
255 * tests/test-init.lisp: Add non-index fields for testing
256 join class employee-addresss
257 * test/test-oodml.lisp: Add tests for retrieval immediate
258 * sql/metaclasses.lisp: Handle differences in direct-slot-definition
259 values which are now listifed by openmcl 14.2.
260 * sql/objects.lisp: more framework for supporing immediate retrieval
262 7 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
263 * docs/intro.xml: Upload location of a README file
264 * sql/metaclass.lisp: Work-around openmcl's CHANGE-CLASS
265 changing the type-specifier. Use a lisp type of (OR NULL FOO)
266 for a specified-type of FOO unless :db-constraints :not-null.
267 No need to specialize finalize-inheritance for openmcl.
268 * tests/test-*.lisp: Rename fields so that joins occur on
269 fields with different names. This ensures that join code is
270 selecting the proper name.
271 * test/test-init.lisp: Add :base-table for employee-address
272 view class for testing.
273 * sql/objects.lisp: Use view-table rather than name of table
274 in a number of places to fix errors noted with using :base-table.
276 6 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
277 * sql/objects.lisp: replace *update-records-on-make-instance* with
278 *db-auto-sync* which also controls both automatic creation of
279 new records on creation of new instance and updating of record
280 fields on setting of instance slots (as suggested by Edi Weitz).
281 * tests/test-init.lisp: replace *update-records-on-make-instance*
283 * sql/package.lisp: replace *update-records-on-make-instance*
285 * TODO: replace *update-records-on-make-instance* with *db-auto-sync*.
286 * sql/objects.lisp: remove redundant rebindings of *db-initializing*
287 and *default-database* in FIND-ALL.
288 * sql/package.lisp: import time functions from CLSQL-BASE.
289 * tests/test-time.lisp: replace CLSQl-BASE package qualifier with CLSQL.
290 * tests/test-fdml.lisp: replace CLSQl-BASE package qualifier with CLSQL.
291 * tests/test-init.lisp: replace CLSQl-BASE package qualifier with CLSQL.
292 * tests/test-ooddl.lisp: replace CLSQl-BASE package qualifier with
295 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
296 * sql/classes.lisp: Add SQL-OBJECT-QUERY type. Have [select 'class]
297 now return a sql-object-query type rather than directly performing a query.
298 This improves CommonSQL conformance.
299 * sql/sql.lisp: Add new QUERY method for SQL-OBJECT-QUERY. Move
300 from basic/basic-sql.lisp the DO-QUERY and MAP-QUERY since they now
301 depend on sql-object-query-type.
302 * sql/loop-extensions.lisp: Move from base package
303 * classic/package.lisp: remove references to map-query and do-query
305 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
306 * TODO: New section on optimizations, especially optimizing JOINs.
307 * sql/objects.lisp: Have :target-slot return of list of lists rather
308 than a list of cons pairs to be conformant with CommonSQL.
309 Make :target-slot much more efficient by using a SQL inner join
310 statement and just requiring one SQL query. Add :retrieval :deferrred
311 to target-slot joins. Add placeholder for update-objects-join.
312 * sql/classes.lisp: Add :inner-join and :on slots to sql-query class
313 and process them for query output-sql.
315 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
317 * base/basic-sql.lisp: Avoid multiple evaluation
318 of query-expression in DO-QUERY
319 * sql/objects.lisp: Make SELECT a normal function.
320 SELECT now accepts type-modified database identifiers, such as
321 [foo :string] which means that the values in column foo are returned
322 as Lisp strings. Add new *update-records-on-make-instance* special
323 variable controlling automatic creation of new instances. Add missing
324 RESULT-TYPES keyword to FIND-ALL. Add :target-slot support.
325 * sql/packages.lisp: Export *update-records-on-make-instance*
326 * test/test-oodml.lisp: Add tests for :target-slot and many-to-many
328 * test/test-fdml.lisp: Add tests for type-modified
329 database identifiers.
330 * test/test-init.lisp: Stop using add-relation since implementing
331 many-to-many joins. Use *update-records-on-make-instance*
332 to automatically store records on instance creation. Add many-to-many
333 employee-address view-class.
335 4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
337 * base/loop.lisp: Add object iteration. Use :result-type
338 :auto for result-set. Remove
339 duplicate (and non-correct) code for non-list variables by
340 simply making an atom variable into a list.
341 * sql/package.lisp: Remove unnecessary clsql-sys package
342 and replace it with clsql.
343 * sql/metaclasses.lisp: Properly store specified-type from
344 direct-slot-definition and then store translated type in
345 effective-slot-definition
346 * sql/classes.lisp: Don't output type in sql-output
347 for SQL-IDENT-ATTRIBUTE. This is in preparation for supporting
348 [foo :integer] as fields in SELECT.
349 * sql/query.lisp: Set default for :result-types to :auto in
351 * sql/objects.lisp: Use specified-type when invocating
352 database-get-type-specifier. def-view-class macro now returns
354 * base/basic-sql.lisp: Make :AUTO the default value for
355 :RESULT-TYPES for MAP-QUERY and DO-QUERY.
356 * sql/objects.lisp: Add bigint type
357 * test/tests-basic.lisp: Add tests for :result-types for
358 MAP-QUERY and DO-QUERY
359 * test/test-fdml.lisp: Add test for result-types in LOOP
360 and also using single symbol rather than a list for variables.
361 Add test that default :result-types is auto for FDML QUERY.
362 * test/test-syntax.lisp: Don't expect TYPE in the SQL-OUTPUT
363 of SQL-IDENT-ATTRIBUTE.
364 * test/test-oodml.lisp: Enable OO loop iteration test,
365 modify it so it doesn't depend on boolean where.
367 4 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
369 * sql/objects.lisp: added derived type specifier for universal time.
370 * sql/package.lisp: added #:universal-time to clsql-sys exports.
371 * tests/test-oodml.lisp: added test for translation of boolean slots
372 in SELECT with object queries.
374 3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
375 * db-odbc/odbc-api.lisp: Fix changing nil to "NIL"
376 for odbc/postgresql backend.
377 * db-odbc/odbc-sql.lisp: Fix ATTRIBUTE-TYPE so that
378 it can handle NIL values from the ODBC driver
379 * tests/benchmarks.lisp: New file with initial
381 * sql/relations.lisp: fix to add subclassing support,
382 minor optimizations [Edi Weitz]
384 3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
386 * base/conditions.lisp: Add *backend-warning-behavior*
388 * db-postgresql-socket/postgresql-socket-sql.lisp:
389 Honor value of *backend-warning-behavior*
390 * tests/test-fdml.lisp: Remove test of raw boolean value
391 since different backends handle this differently. Add
392 test for :column attribute.
393 * tests/test-oodml.lisp: Add tests for boolean slot value
394 and for :void-value attribute
395 * tests/test-init.lisp: Use *backend-warning-behavior*
396 to suppress warnings from postgresql about implicitly
397 creating primary key in tables. Add new address table.
399 3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
401 * db-odbc/odbc-dbi.lisp: Convert TINYINT to integers when
402 result-types is :auto
403 * sql/objects.lisp: Properly handled writing/reading Boolean
404 values from SQL database when retrieving objects.
405 * test/test-fdml.lisp: Add another test for boolean results
406 * test/utils.lisp: Fix incorrect declaration
408 2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
410 * sql/generics.lisp: add generic function for SELECT.
411 * sql/objects.lisp: make SELECT a method specialisation.
412 * sql/classes.lisp: MAKE-QUERY now calls SELECT if the selections
413 referred to are View Classes.
414 * base/basic-sql.lisp: in DO-QUERY and MAP-QUERY, if the
415 query-expression arg evaluates to a list, then we have an object
417 * tests/test-oodml.lisp: add tests for DO-QUERY and MAP-QUERY with
419 * TODO: remove items done and add a todo for SELECT.
420 * sql/objects.lisp: SELECT takes a :field-names arg to pass on to
422 * sql/sql.lisp: add :field-names arg to QUERY.
423 * tests/test-fdml.lisp: minor rework to use :field-names arg to
426 2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
427 * sql/objects.lisp: fix bug in FIND-ALL when SELECT called with 2
428 or more View Classes.
429 * sql/objects.lisp: make the :flatp argument to SELECT work with
431 * sql/objects.lisp: make SELECT accept a :result-types argument
432 (defaults to :auto) which is passed on to QUERY.
433 * sql/objects.lisp: SELECT returns field-names as a second value.
434 * tests/test-ooddl.lisp: add flatp arg to SELECT calls as appropriate.
435 * tests/test-fdml.lisp: add flatp/result-types arguments to calls
436 to SELECT and take only first value as appropriate.
437 * tests/test-fdml.lisp: add two new tests for query result coercion
438 and the field-names returned as a second value from SELECT.
439 * tests/test-oodml.lisp: add flatp arg to SELECT calls as appropriate.
441 1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
442 * Version 2.10.6-pre1
443 * sql/metaclasses.lisp: Add void-value slot
444 * doc/csql.xml: Update def-view-class documentation
445 * test/test-init.lisp: Change old :db-type to :db-kind.
446 Remove old :nulls-ok attributes.
447 * sql/objects.lisp: Add new universal-time and bigint
448 types. Optimize reading of integers using parse-integer
449 rather than read-from-string.
450 * */*.lisp: Merge clsql-base-sys and clsql-base packages
451 into clsql-base package
452 * classic/sql.lisp: Move large object support into base, leaving
453 classic without any functionality that is provided in the clsql
455 * classic/package.lisp: Rename clsql-classic-sys package to
456 its former nickname of clsql-classic
458 1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
459 * Version 2.10.5: SQLite backend now passes all result-types tests
460 * clsql-sqlite.asd: Depend on clsql-uffi system
461 * db-sqlite/sqlite-sql.lisp: Use clsql-uffi:convert-raw-field
462 for efficiency and code reuse.
463 * db-sqlite/sqlite-api-uffi.lisp: Change (* :char) to (* :unsigned-char)
464 for better cross-implementation compatibility.
466 1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
468 * sql/tables.lisp: Fix typo in CACHE-TABLE-QUERIES
470 * db-postgresql/postgresql-sql.lisp: Fix foreign-string vs. cstring
471 bug on SBCL in result-field-names function as reported by Marcus Pearce
472 * db-sqlite/sqlite-sql.lisp: Fix in database-store-next-row
473 manifest in SBCL testing
475 1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
477 * sql/database.lisp: Conform more to CommonSQL output
478 for STATUS command [Marcus Pearce]
479 * sql/sqlite-sql.lisp: Rework to use result-types
480 * sql/sqlite-api-clisp.lisp: Add compatibility layer
481 with sqlite-api-uffi.lisp so that sqlite-sql.lisp can
482 be cleaned up of most clisp reader conditionals
483 * sql/test-init.lisp: Now run field type tests on sqlite
486 30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
488 * base/basic-sql.lisp: Set default value of :result-types
489 to :auto for more CommonSQL conformance.
490 * test/test-fdml.lisp: Add tests for numeric value of fields
493 30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
494 * Version 2.10.1: New API function: CACHE-TABLE-QUERIES.
495 * base/basic-sql.lisp, db-*/*-sql.lisp: More CommonSQL conformance.
496 Return field names as second value for QUERY. This can be overridden
497 for efficiency with the new keyword :FIELD-NAMES set to NIL
498 in the QUERY invocation.
499 * test/test-fdml.lisp: Add tests for new field-name feature
500 * sql/metaclass.lisp: Remove old Lispworks cruft
501 and replace it with invocation of new code in kmr-mop.lisp
502 which actually works with Lispworks 4.2
503 * doc/ref_clsql.xml: Document new :FIELD-NAMES keyword to
505 * base/db-interface.lisp: Document the multiple values
506 returned by DATABASE-ATTRIBUTE-TYPE so matches the
507 undocumented CommonSQL behavior.
508 * sql/table.lisp: Add *CACHE-TABLE-QUERIES-DEFAULT* and
509 *DEFAULT-UPDATE-OBJECTS-MAX-LEN* variables and export them.
510 LIST-ATTRIBUTE-TYPES now conforms to CommonSQL spec.
511 Implement CACHE-TABLE-QUERIES.
512 * db-odbc/odbc-sql.lisp: Fix attribute-type function
513 * test/test-fddl.lisp: Add tests for attribute type
514 * db-mysql/mysql-sql.lisp: Mild optimization in accessing
516 * base/classes.lisp: Add attribute-cache slot to database clas
517 * base/initialize.lisp: initialize-database-type now automatically
518 loads database-type backend as needed.
519 * base/test-init.lisp: Utilize new initialize-database-type functionality.
520 * TODO: remove items done
522 30 Apr 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
524 * sql/objects.lisp: remove create/drop-sequence-from-class.
525 * sql/objects.lisp: add INSTANCE-REFRESHED generic function.
526 * sql/objects.lisp: improved CommonSQL compatibility for
527 UPDATE-RECORD-FROM-SLOT, UPDATE-RECORD-FROM-SLOTS,
528 UPDATE-RECORDS-FROM-INSTANCE and DELETE-INSTANCE-RECORDS.
529 * sql/generics.lisp: move generics from objects.lisp to here.
531 29 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
533 * db-mysql/mysql-client-info.lisp: Add client version 4.1
535 * sql/sql.lisp: Make *default-database* the default for
538 28 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
540 * db-mysql/mysql-sql.lisp: Fix bug in transaction capability
542 * sql/objects.lisp: Commit patch from Slawek Zak to allow specifying
543 :metaclass in DEF-VIEW-CLASS invocation. This allows defining classes
544 on a metaclass specialized from standard-db-class.
547 24 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
548 * Version 2.9.4: Multiple changes to support Allegro's "modern"
549 lisp which uses a lowercase reader and has case-sensitive symbols
550 * sql/classes.lisp: Fix make-load-form bug for sql-ident-table
551 exposed by case-sensitive mlisp.
553 22 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
554 * Version 2.9.3: All tests now pass on all platforms!
555 * LATEST-TEST-RESULTS: New file with summary of test results
556 * sql/generics.lisp: New file for generic function definitions.
557 * test/test-init.lisp: Display names of skipped tests.
558 Use unwind-protect to ensure disconnect
559 * sql/objects.lisp: Change database-type to database-underlying-type
560 so that actual database engine is properly identified
561 * db-odbc/odbc-api.lisp: Have default *time-conversion-function*
562 return an ISO timestring for compatibility with other drivers.
563 Workaround bug in MyODBC for LIST-TABLE-INDEXES
564 * test/test-fdml.lisp: Accomodate that odbc-postgresql driver
565 returns floating-point values for floor and truncate operations
566 * db-aodbc/aodbc-sql.lisp: Implement DATABASE-LIST-VIEWS
567 * tests/test-basic.lisp: Port to regression tester
568 * test/test-init.lisp: Output to *report-stream*
569 * docs/appendix.xml: Document ODBC and SQLite backends.
570 * sql/classes.lisp: Make output-sql require a database parameter.
571 This allows SQL generation to have the proper case to support
572 the differences in case handling between CommonSQL API,
573 Postgresql, MySQL, Oracle.
575 21 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
576 * Version 2.9.2: Improvments in database capability introspection
577 and querying. Support transactions in MySQL where available.
578 All tests now pass on MySQL and SQLite in addition to postgresql
579 and postgresql-socket. ODBC fails only with OODDL/TIME/1 and OODDL/TIME/2.
580 * db-odbc/odbc-sql.lisp: Add DATABASE-LIST-VIEWS. Better support
581 DATABASE-LIST-SEQUENCES.
582 * clsql-uffi.asd, clsql-mysql.asd: Improve shared library loading
583 * Database_capabilies: add HAS-VIEWS, HAS-CREATE/DESTROY-DB,
584 HAS-BOOLEAN-WHERE, TRANSACTION-CAPABLE
585 * tests/*.lisp: Check database capabilities and remove tests which
586 the database backend does not support
587 * sql/table.lisp: Add :TRANSACTIONS keyword to create table which
588 controls whether InnoDB tables will be created when supported on
589 the underlying MySQL server.
591 20 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
592 * Version 2.9.0: New API function: LIST-TABLE-INDEXES,
593 supported by all database backends (except AODBC since
594 AODBC doesn't support index querying)
595 * db-obdc/odbc-sql.lisp: Support DATABASE-LIST-INDEXES
596 * db-odbc/odbc-api.lisp: Add %TABLE-STATISTICS function
597 to support index queries
598 * db-aodbc/aodbc-sql.lisp: Filter driver manager
599 "information_schema" tables from LIST-TABLES
600 * tests/test-basic.lisp: Remove table after testing
601 * tests/test-fddl.lisp: Test LIST-TABLE-INDEXES
602 * base/db-interface.lisp: Add DATABASE-UNDERLYING-TYPE
603 which gets the underlying type of database -- required
604 when dealing with ODBC databases and want to query
605 database capabilities. Added DB-USE-COLUMN-ON-DROP-TABLES?
606 as first database-backend specific feature. Is T on
607 :mysql, NIL on other backends. Change DROP-TABLE to
610 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
611 * Version 2.8.2: Build changes for FreeBSD [Slawek Zak]
613 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
615 * db-odbc/odbc-sql.lisp: Add DATABASE-LIST function
616 * db-odbc/odbc-dbi.lisp: Add LIST-ALL-DATA-SOURCES function
618 19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
619 * Version 2.8.0: New API function: LIST-DATABASES
620 * base/utils.lisp: Fix command-output on CMUCL/SBCL
621 * db-*/*-sql.lisp: Add new database-list function
622 * base/database.lisp: Add new LIST-DATABASES command
624 18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
626 * db-sqlite/sqlite-sql.lisp: Fix sequence functions.
627 * db-sqlite/sqlite-api-uffi.lisp: Print error string
630 18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
632 * doc/csql.xml, examples/clsql-tutorial.lisp: Patch for db-kind
635 17 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
637 * base/objects.lisp, base/classes.lisp: Patch
638 for db-kind from Eduardo Munoz
640 16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
642 * base/basic-sql.lisp: Fix FLATP in QUERY
644 16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
645 * Version 2.7.3: Implement RECONNECT
647 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
648 * Version 2.7.2: Fix ODBC on Lispworks Windows
650 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
651 * Version 2.7.1: Fix for new ODBC backend.
652 clsql-odbc now works on SBCL, CMUCL, OpenMCL
653 in addition to AllegroCL and Lispworks.
655 15 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
656 * Version 2.7.0: New backend: ODBC. Tests as
657 well as AODBC backend on Allegro,Lispworks.
658 SBCL and CMUCL don't work quite yet. Requires UFFI v1.4.11+
659 * db-odbc/*.lisp: Add ODBC3 function SQLSetEnvAttr
660 to explicitly set ODBC2 support. Add BIGINT support.
661 Add result-types support. Added SQLTables.
662 Fix array type in fetch-all-rows. Make width
663 changable by database or query.
664 * base/utils.lisp: Add process functions
665 * base/package.lisp: Export utils to CLSQL-BASE-SYS
666 * db-aodbc: Implement sequence functions,
667 database-list-tables, database-list-attributes
668 * tests/utils.lisp: Add support for ODBC backend,
669 rework READ-SPECS to use +all-db-types+
670 * db-mysql/mysql-sql.lisp: Use WITHOUT-INTERRUPTS
673 13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
674 * Version 2.6.13. Requires UFFI version 1.4.9
675 * db-odbc/*.lisp: Further porting.
676 Pre-alpha code! But, basic query is now working.
678 13 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
680 * base/transactions.lisp: Add quote for macro
681 expansion of WITH-TRANSACTIONS [Time Howe]
682 * db-sqlite/sqlite-sql.lisp: Support memory database
683 in database-probe [Ng Pheng Siong]
684 * db-odbc/*.lisp: Initial port to UFFI of SQL-ODBC.
685 The DBI layer is not finished.
687 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
689 * sql/objects.lisp: add :root-class functionality for
690 list-classes and add duration type support [Marcus Pearce]
691 * db-odbc: Add mid-level [DBI] layer
693 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
695 * db-aodbc: Add methods for generic functions, some are
697 * clsql-odbc.asd, db-odbc/*.lisp: Initial start of ODBC
700 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
702 * base/package.lisp: Add missing symbols [Marcus Pearce]
704 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
706 * test/test-fddl.lisp: Cleanup fix [Marcus Pearce]
707 * utils/time.lisp: Multiple fixes [Marcus Pearce]
708 * sql/sql.lisp: Fix for truncate-database [Marcus Pearce]
710 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
712 * sql/*.lisp: Remove schema versioning cruft
714 * Makefile: Add classic subdirectory
716 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
718 * sql/sql.lisp: Fix TRUNCATE command, bug reported
720 * sql/sql.lisp: Remove EXPLAIN function. Postgresql/Oracle
721 specific and easy for an application to directly support.
722 Idea from Marcus Pearce.
723 * base/basic-sql.lisp: Remove DESCRIBE-TABLE top-level
724 API as duplicates LIST-ATTRIBUTE-TYPES [Marcus Pearce].
725 Keep low-level interface for future optimization
726 supporting LIST-ATTRIBUTE-TYPES command.
727 * Makefile: Add to db-sqlite and test directories.
728 Include them in top-level Makefile
730 12 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
732 * sql/relations.lisp: Add missing file
733 * utils/time.lisp: Fixes/extensions [Marcus Pearce]
734 * test/test-time.lips: New file [Marcus Pearce]
736 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
738 * test/test-init.lisp: Properly handle object
739 creation. Close database after use.
740 * sql/sql.lisp: Make DESCRIBE-TABLE a generic
741 function so can have methods specialized on
742 table being a string or an sql-table object.
743 * base/pool.lisp: Really fix CMUCL locking
745 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
747 * test/test-init.lisp: Signal correctly
748 if any errors occurred in any test suite
749 * base/loop-extensions.lisp: Fix error
750 introduced for Lispworks
751 * base/pool.lisp: Fix locking for CMUCL
752 * base/objects.lisp: Remove schema-version cruft
754 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
755 * Version 2.6.2: New CLSQL API functions:
756 DESCRIBE-TABLE AND TRUNCATE-DATABASE
757 Currently, this are only supported on :postgresql
758 and :postgresql-socket
759 * base/database.lisp: automatically load ASDF system
760 in CONNECT if not already loaded
761 * base/tests.lisp: disconnect database after testing
762 * base/*.lisp: Remove CLOSED-DATABASE type in favor
763 of storing open/closed status in slot of database
764 * base/pool.lisp: Support locks for CMUCL, OpenMCL, SBCL
765 * db-postgresql/postgresql-sql.lisp: add DATABASE-RECONNECT,
766 DATABASE-DESCRIBE-TABLE
767 * db-sqlite/sqlite-sql.lisp: Add missing slots in database
768 * base/conditions: Remove duplicate condition
769 * db-*/*-sql.lisp: Fill new database slot DATABASE-TYPE
770 * base/recording.lisp: Add new :QUERY type for recording
772 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
773 * Version 2.6.1: documentation fixes, merged
774 classic-tests into tests
776 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
777 * Version 2.6.0 released: New API functions
778 CREATE-DATABASE, DESTORY-DATABASE, PROBE-DATABASE
779 * doc/ref_clsql.xml: Document new functions
780 * base/database.lisp: New API functions
781 * base/conditions.lisp: Added CLSQL-ACCESS-ERROR
782 * base/utils.lisp: Fix use of position-char.
783 Add COMMAND-OUTPUT used by backends for running
784 external programs. Fix parsing of SQL*NET-compatible
786 * base/loop-extension.lisp: Simplify package use
787 for Lispworks and Allegro
788 * db-*/*-sql.lisp: Added DATABASE-CREATE,
789 DATABASE-DESTORY, PROBE-DATABASE methods
790 * tests/test-init.lisp, clasic-tests/tests.lisp:
791 Use destroy-database and create-database to ensure
792 testing with empty database
793 * tests/test-connection.lisp: Add tests for
794 parsing of string connection-specs
795 * examples/run-tests.sh: New file for running
796 test suite on all installed CL implementations
797 * examples/clsql-tutorial.lisp: moved from
799 * examples/dot.clsql-tests.config: New file
800 giving an example test configuration
801 * test/README: Add notes about rtest/ptester
802 downloads and link to sample test configuration file.
804 10 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
805 * Version 2.5.1 released:
806 * tests/*.lisp: Rework so tests are run
807 on multiple backends automatically based
808 on the contents of ~/.clsql-tests.config.
809 Reuse helper functions from classic-tests.
810 * base/database.lisp: Support connection-spec
811 as string for CONNECT
812 * classic-tests/tests.lisp: Automatically
813 load database backends as needed.
815 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
816 * Version 2.5.0 released:
817 All tests for CLSQL and CLSQL-CLASSIC pass
819 * base/loop-extension.lisp: Add Lispworks
820 loop-extension. Improve type specifying on
823 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
824 * Version 2.4.2 released:
825 loop extension now supported on Allegro, all
826 CLSQL-TESTS pass on Allegro.
827 * sql/metaclasses.lisp: Some optimization
828 of compute-slots, be selective when
829 ordered-class-slots needs to be called
830 instead of class-slots
831 * TODO: add URL with documentation on
832 extending Lispworks LOOP form
834 09 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
835 * Version 2.4.1 released: CLSQL-TESt suite passes
836 all tests for postgresql and CMUCL, SBCL, OpenMCL.
837 Allegro and Lispworks pass all tests except for
838 FDML/LOOP/1 since the loop extension have not yet
839 been ported to those implementions.
840 * sql/metaclasses.lisp: Added new slot to standard-db-class
841 to hold user-specified type. OpenMCL adjustments to compensate
842 for its type-predicate function. Since AllegroCL, Lispworks,
843 and OpenMCL have different slot orders, added compute-slots
844 and ordered-class-slots functions so their slot order matches
847 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
848 * Version 2.4.0 released: All tests for clsql-classic now finish
849 correctly on Allegro, Lispworks, CMUCL, SBCL, OpenMCL for
850 mysql, postgresql, postgresql-sockets, and sqlite backends.
851 * db-mysql/mysql-sql.lisp: Fix array dereferencing
852 * classic-tests/tests.lisp: Fix package name of
853 number-to-sql-string.
854 * clsql.asd/clsql-tests.asd: Add support for asdf:test-op
855 * db-sqlite/sqlite-api-{uffi,sql}.lisp: Multiple UFFI fixes,
856 now passes tests on all support UFFI platforms.
857 * db-postgresql-socket/postgresql-socket-api.list: Ported to
859 * multiple: Finish renaming of :types keyword to :result-types for
860 greater CommonSQL compatibility, including documentation
861 * sql/basic-cmds.lisp: Remove obsolete file
863 08 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
864 * Version 2.3.3 released
865 * Fixes for sequences on mysql and sqlite [Marcus Pearce]
866 * Fixes for uffi sqlite backend [Aurelio Bignoli / Kevin Rosenberg]
867 * Fix for schema table [Marcus Pearce]
868 * Add loop extension support for SBCL and OpenMCL [Marcus Pearce]
869 * Fixes to test suite [Marcus Pearce]
871 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
872 * db-*/*-sql.lisp: Ensure that expr in
873 database-query-result-set is a string
874 * Documentation integration
876 06 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
877 * With for Marcus Pearce's excellent work, I've merged
878 his clsql-usql port into clsql. The original clsql
879 interface is available in the clsql-classic package.
881 02 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
882 * Integrate patch from Marcus Pearce <ek735@soi.city.ac.uk>
883 adding further support for providing backend for UncommonSQL
885 10 Mar 2004 Kevin Rosenberg (kevin@rosenberg.net)
886 * Integrate patch from Aurelio Bignoli for SQLite backend
888 11 Nov 2003 Kevin Rosenberg (kevin@rosenberg.net)
889 * Converted documentation to XML format
890 * Made package installable with asdf-install
892 23 Jul 2003 Kevin Rosenberg (kevin@rosenberg.net)
893 * Add for-each-row macro
895 12 Dec 2002 Kevin Rosenberg (kevin@rosenberg.net)
896 * uffi/clsql-uffi.lisp: return NIL for numeric fields that are NULL
898 16 Oct 2002 Kevin Rosenberg (kevin@rosenberg.net)
899 * Add support for SBCL, OpenMCL, and SCL
900 * Add *load-truename* to search path for clsql's
903 01 Sep 2002 Kevin Rosenberg (kevin@rosenberg.net)
904 * Rework use of file types in .asd files
906 17 Aug 2002 Kevin Rosenberg (kevin@rosenberg.net)
907 * Add .asd definition files for ASDF users
909 31 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
910 * Restructure directories for Common Lisp Controller v3 compatibility
912 25 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
913 * Also change case of logical host in loader files
914 * Rework handling of logical pathnames
916 05 Jul 2002 Kevin Rosenberg (kevin@rosenberg.net)
917 * Change case of logical host
919 14 May 2002 Kevin Rosenberg (kevin@rosenberg.net)
920 * clsql-base.system: Added base package that can be used without
921 high-level SQL commands. Used for adding support for UncommonSQL.
922 * *.system: Reworked logical pathnames to be more consistent with
923 Common Lisp Controller.
924 * debian/*: Completed initial Debian support
926 10 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
928 * sql/transactions.cl:
929 Added transaction support. Functions/macros added:
930 with-transaction, commit-transaction, rollback-transaction,
931 add-transaction-commit-hook, add-transaction-rollback-hook
933 04 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
937 Added pool support in connect/disconnect and with-database.
938 Removed with-db-from-pool as with-database can now works with the connections pool
940 01 May 2002 Marc Battyani (marc.battyani@fractalconcept.com)
945 Completed connection pool.
946 Added with-db-from-pool macro.
948 27 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
950 Added initial support for connection pool
951 * sql/transactions.cl
952 Took transaction code from UncommonSQL and integrated
953 into CLSQL code. See file for disclaimer about why this
956 23 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
957 * interfaces/postgresql/postgresql-sql.cl:
958 Fix keyword typo in database-read-large-object
959 * interfaces/mysql/mysql-loader.cl
961 * test-suite/tester-clsql.cl
962 Fix type coercion of double-float
964 Added debian docbook catalog, made it the default
966 19 Apr 2002 Marc Battyani (marc.battyani@fractalconcept.com)
967 * interface/postgresql/postgresql-api.cl:
968 * interface/postgresql/postgresql-sql.cl:
970 * sql/db-interface.cl:
971 Added large objects support for postgresql.
973 07 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
974 * src/postgresql-socket/postgresql-socket-api.cl:
975 Fixed find-foreign-function call, eliminated crypt warning
977 Multiple improvements
979 Moved functionality from low-level interfaces to this file
980 via generic functions
981 * test-suite/tester.cl:
982 Added test with acl-compat-tester, moved others to old-tests
985 06 Apr 2002 Kevin Rosenberg (kevin@rosenberg.net)
987 Reinstated commented out sections
988 * interfaces/postgresql/postgresql-loader.cl:
989 * interfaces/mysql/mysql-loader.cl:
990 Updated find-forieign-library support.
991 * interfaces/postgresql-socket/postgresql-socket-package.cl:
992 Fixed require form for Lispworks (Thanks Marc Battyani!)
993 * interfaces/postgresql-socket/postgresql-socket-api.cl:
994 Fixed eval of def-function for crypt library.
996 31 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
997 * Added interface to support USQL high-level rouines
999 29 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1000 * Separated db-interface and conditions from sql/sql.cl
1001 * Improved foreign library loading testing
1002 * interfaces/postgresql/postgresql-api.cl
1003 Added PQisBusy function
1004 * interfaces/clsql-uffi/clsql-uffi.cl
1005 Fixed sign error for 64-bit processing
1007 27 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1008 * interfaces/postgresql-socket/postgresql-socket-api.cl:
1009 Fixes to read-double-from-socket. Added 64-bit integer support.
1010 * test-suite/xptest-clsql.cl
1011 Added testint for 64-bit integers
1012 * Additons to installation docs
1014 26 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1015 * interfaces/postgresql-socket/postgresql-socket-api.cl:
1016 Implemented direct socket reading for field type :double
1017 * Added usage information for :types to documentation
1018 * interfaces/mysql/mysql-sql.cl: Fixed type specifiers in atoi,
1020 * interfaces/clsql-uffi: Created new directory. Split common
1021 interface routines that use UFFI into this package. Required
1022 especially to support direct reading of 64-bit integers into
1023 bignums and bypassing temporary strings.
1024 * test-clsql.cl: Updated to test postgresql-socket's
1025 read-double-from-socket function.
1026 * test-suite/xptest-clsql.cl
1027 Started work on test suite
1029 25 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1030 * interfaces/mysql/mysql-api.cl: Added mysql-fetch-fields,
1031 mysql-fetch-field-direct Got :auto types working
1032 * interfaces/postgresql/postgresql-api.cl
1033 * interfaces/postgresql-socket/postgresql-socket-api.cl
1034 Added pgsql-field-types enum. Got :auto types working.
1036 Renamed :field-types to :types.
1038 24 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1039 * Added field-types parameter to query, database-query,
1040 database-query-result-set, map-query. Haven't added code
1041 to utilize field types, yet.
1042 * Changed postgresql-socket result set from cons to a structure
1043 * Updated test-clsql.cl to use automated testing with a config
1045 * Changed return types of field accessors from cstring to
1046 (* :unsigned-char). This prepares for being able to use specified
1047 type conversions when taking field data into lisp.
1048 * Added field-type processing for most interfaces. Not done yet.
1050 23 Mar 2002 Kevin Rosenberg (kevin@rosenberg.net)
1051 * doc/ref.sgml: Updated MAP-QUERY example to use
1052 *read-default-float-format* (John Foderaro)
1053 * Extensive work to foreign library loaders and .system files to
1054 check for successful loading of foreign libraries.
1055 * Modified test-clsql.cl to allow more modularity and
1056 automated testing in future release.
1057 * mysql/mysql-sql.lisp: Added field types
1059 01 Jan 2002 Kevin Rosenberg (kevin@rosenberg.net)
1060 * mysql/mysql-sql.lisp:
1061 - Added support for Allegro CL and Lispworks using UFFI layer
1062 - Changed database-connect to use mysql-real-connect. This way,
1063 can avoid using double (unwind-protect)
1064 - Changed database-connect to have MySQL library allocate space
1065 for MYSQL structure. This will make the code more robust in
1066 the event that MySQL library changes the size of the mysql-mysql