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