-16 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * sql/metaclasses.lisp: Properly store specified-type from
+ direct-slot-definition and then store translated type in
+ effective-slot-definition
+ * sql/objects.lisp: Use specified type when invocating
+ database-get-type-specifier. Return class for def-view-class.
+ * base/basic-sql.lisp: Make :AUTO the default value for
+ :RESULT-TYPES for MAP-QUERY and DO-QUERY.
+ * sql/objects.lisp: Add bigint type
+ * base/loop.lisp: Add placeholder and error message for object
+ iteration. Use :result-type :auto for result-set. Remove
+ duplicate (and non-correct) code for non-list variables by
+ simply making an atom variable into a list.
+ * test/tests-basic.lisp: Add tests for :result-types for
+ MAP-QUERY and DO-QUERY
+ * test/test-fdml.lisp: Add test for result-types in LOOP
+ and also using single symbol rather than a list for variables.
+ Add test that default :result-types is auto for FDML QUERY.
+ * sql/query.lisp: Set default for :result-types to :auto in
+ FDML QUERY.
+
+4 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
+ * Version 2.10.9
+ * sql/objects.lisp: added derived type specifier for universal time.
+ * sql/package.lisp: added #:universal-time to clsql-sys exports.
+ * tests/test-oodml.lisp: added test for translation of boolean slots
+ in SELECT with object queries.
+
+3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * db-odbc/odbc-api.lisp: Fix changing nil to "NIL"
+ for odbc/postgresql backend.
+ * db-odbc/odbc-sql.lisp: Fix ATTRIBUTE-TYPE so that
+ it can handle NIL values from the ODBC driver
+ * tests/benchmarks.lisp: New file with initial
+ benchmark suite
+ * sql/relations.lisp: fix to add subclassing support,
+ minor optimizations [Edi Weitz]
+
+3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.8
+ * base/conditions.lisp: Add *backend-warning-behavior*
+ special variable.
+ * db-postgresql-socket/postgresql-socket-sql.lisp:
+ Honor value of *backend-warning-behavior*
+ * tests/test-fdml.lisp: Remove test of raw boolean value
+ since different backends handle this differently. Add
+ test for :column attribute.
+ * tests/test-oodml.lisp: Add tests for boolean slot value
+ and for :void-value attribute
+ * tests/test-init.lisp: Use *backend-warning-behavior*
+ to suppress warnings from postgresql about implicitly
+ creating primary key in tables. Add new address table.
+
+3 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.7
+ * db-odbc/odbc-dbi.lisp: Convert TINYINT to integers when
+ result-types is :auto
+ * sql/objects.lisp: Properly handled writing/reading Boolean
+ values from SQL database when retrieving objects.
+ * test/test-fdml.lisp: Add another test for boolean results
+ * test/utils.lisp: Fix incorrect declaration
+
+2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
+ * Version 2.10.6
+ * sql/generics.lisp: add generic function for SELECT.
+ * sql/objects.lisp: make SELECT a method specialisation.
+ * sql/classes.lisp: MAKE-QUERY now calls SELECT if the selections
+ referred to are View Classes.
+ * base/basic-sql.lisp: in DO-QUERY and MAP-QUERY, if the
+ query-expression arg evaluates to a list, then we have an object
+ query.
+ * tests/test-oodml.lisp: add tests for DO-QUERY and MAP-QUERY with
+ object queries.
+ * TODO: remove items done and add a todo for SELECT.
+ * sql/objects.lisp: SELECT takes a :field-names arg to pass on to
+ QUERY.
+ * sql/sql.lisp: add :field-names arg to QUERY.
+ * tests/test-fdml.lisp: minor rework to use :field-names arg to
+ SELECT.
+
+2 May 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
+ * sql/objects.lisp: fix bug in FIND-ALL when SELECT called with 2
+ or more View Classes.
+ * sql/objects.lisp: make the :flatp argument to SELECT work with
+ object queries.
+ * sql/objects.lisp: make SELECT accept a :result-types argument
+ (defaults to :auto) which is passed on to QUERY.
+ * sql/objects.lisp: SELECT returns field-names as a second value.
+ * tests/test-ooddl.lisp: add flatp arg to SELECT calls as appropriate.
+ * tests/test-fdml.lisp: add flatp/result-types arguments to calls
+ to SELECT and take only first value as appropriate.
+ * tests/test-fdml.lisp: add two new tests for query result coercion
+ and the field-names returned as a second value from SELECT.
+ * tests/test-oodml.lisp: add flatp arg to SELECT calls as appropriate.
+
+1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.6-pre1
+ * sql/metaclasses.lisp: Add void-value slot
+ * doc/csql.xml: Update def-view-class documentation
+ * test/test-init.lisp: Change old :db-type to :db-kind.
+ Remove old :nulls-ok attributes.
+ * sql/objects.lisp: Add new universal-time and bigint
+ types. Optimize reading of integers using parse-integer
+ rather than read-from-string.
+ * */*.lisp: Merge clsql-base-sys and clsql-base packages
+ into clsql-base package
+ * classic/sql.lisp: Move large object support into base, leaving
+ classic without any functionality that is provided in the clsql
+ system.
+ * classic/package.lisp: Rename clsql-classic-sys package to
+ its former nickname of clsql-classic
+
+1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.5: SQLite backend now passes all result-types tests
+ * clsql-sqlite.asd: Depend on clsql-uffi system
+ * db-sqlite/sqlite-sql.lisp: Use clsql-uffi:convert-raw-field
+ for efficiency and code reuse.
+ * db-sqlite/sqlite-api-uffi.lisp: Change (* :char) to (* :unsigned-char)
+ for better cross-implementation compatibility.
+
+1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.4
+ * sql/tables.lisp: Fix typo in CACHE-TABLE-QUERIES
+ [Marcus Pearce]
+ * db-postgresql/postgresql-sql.lisp: Fix foreign-string vs. cstring
+ bug on SBCL in result-field-names function as reported by Marcus Pearce
+ * db-sqlite/sqlite-sql.lisp: Fix in database-store-next-row
+ manifest in SBCL testing
+
+1 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.3
+ * sql/database.lisp: Conform more to CommonSQL output
+ for STATUS command [Marcus Pearce]
+ * sql/sqlite-sql.lisp: Rework to use result-types
+ * sql/sqlite-api-clisp.lisp: Add compatibility layer
+ with sqlite-api-uffi.lisp so that sqlite-sql.lisp can
+ be cleaned up of most clisp reader conditionals
+ * sql/test-init.lisp: Now run field type tests on sqlite
+ backend
+
+30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.2
+ * base/basic-sql.lisp: Set default value of :result-types
+ to :auto for more CommonSQL conformance.
+ * test/test-fdml.lisp: Add tests for numeric value of fields
+
+
+30 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.1: New API function: CACHE-TABLE-QUERIES.
+ * base/basic-sql.lisp, db-*/*-sql.lisp: More CommonSQL conformance.
+ Return field names as second value for QUERY. This can be overridden
+ for efficiency with the new keyword :FIELD-NAMES set to NIL
+ in the QUERY invocation.
+ * test/test-fdml.lisp: Add tests for new field-name feature
+ * sql/metaclass.lisp: Remove old Lispworks cruft
+ and replace it with invocation of new code in kmr-mop.lisp
+ which actually works with Lispworks 4.2
+ * doc/ref_clsql.xml: Document new :FIELD-NAMES keyword to
+ QUERY function
+ * base/db-interface.lisp: Document the multiple values
+ returned by DATABASE-ATTRIBUTE-TYPE so matches the
+ undocumented CommonSQL behavior.
+ * sql/table.lisp: Add *CACHE-TABLE-QUERIES-DEFAULT* and
+ *DEFAULT-UPDATE-OBJECTS-MAX-LEN* variables and export them.
+ LIST-ATTRIBUTE-TYPES now conforms to CommonSQL spec.
+ Implement CACHE-TABLE-QUERIES.
+ * db-odbc/odbc-sql.lisp: Fix attribute-type function
+ * test/test-fddl.lisp: Add tests for attribute type
+ * db-mysql/mysql-sql.lisp: Mild optimization in accessing
+ field structures.
+ * base/classes.lisp: Add attribute-cache slot to database clas
+ * base/initialize.lisp: initialize-database-type now automatically
+ loads database-type backend as needed.
+ * base/test-init.lisp: Utilize new initialize-database-type functionality.
+ * TODO: remove items done
+
+30 Apr 2004 Marcus Pearce (m.t.pearce@city.ac.uk)
+ * Version 2.9.6
+ * sql/objects.lisp: remove create/drop-sequence-from-class.
+ * sql/objects.lisp: add INSTANCE-REFRESHED generic function.
+ * sql/objects.lisp: improved CommonSQL compatibility for
+ UPDATE-RECORD-FROM-SLOT, UPDATE-RECORD-FROM-SLOTS,
+ UPDATE-RECORDS-FROM-INSTANCE and DELETE-INSTANCE-RECORDS.
+ * sql/generics.lisp: move generics from objects.lisp to here.
+
+29 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.6-pre1
+ * db-mysql/mysql-client-info.lisp: Add client version 4.1
+ detection
+ * sql/sql.lisp: Make *default-database* the default for
+ TRUNCATE-DATABASE
+
+28 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.5
+ * db-mysql/mysql-sql.lisp: Fix bug in transaction capability
+ detection
+ * sql/objects.lisp: Commit patch from Slawek Zak to allow specifying
+ :metaclass in DEF-VIEW-CLASS invocation. This allows defining classes
+ on a metaclass specialized from standard-db-class.
+
+
+24 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.4: Multiple changes to support Allegro's "modern"
+ lisp which uses a lowercase reader and has case-sensitive symbols
+ * sql/classes.lisp: Fix make-load-form bug for sql-ident-table
+ exposed by case-sensitive mlisp.
+
+22 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.3: All tests now pass on all platforms!
+ * LATEST-TEST-RESULTS: New file with summary of test results
+ * sql/generics.lisp: New file for generic function definitions.
+ * test/test-init.lisp: Display names of skipped tests.
+ Use unwind-protect to ensure disconnect
+ * sql/objects.lisp: Change database-type to database-underlying-type
+ so that actual database engine is properly identified
+ * db-odbc/odbc-api.lisp: Have default *time-conversion-function*
+ return an ISO timestring for compatibility with other drivers.
+ Workaround bug in MyODBC for LIST-TABLE-INDEXES
+ * test/test-fdml.lisp: Accomodate that odbc-postgresql driver
+ returns floating-point values for floor and truncate operations
+ * db-aodbc/aodbc-sql.lisp: Implement DATABASE-LIST-VIEWS
+ * tests/test-basic.lisp: Port to regression tester
+ * test/test-init.lisp: Output to *report-stream*
+ * docs/appendix.xml: Document ODBC and SQLite backends.
+ * sql/classes.lisp: Make output-sql require a database parameter.
+ This allows SQL generation to have the proper case to support
+ the differences in case handling between CommonSQL API,
+ Postgresql, MySQL, Oracle.
+
+21 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.2: Improvments in database capability introspection
+ and querying. Support transactions in MySQL where available.
+ All tests now pass on MySQL and SQLite in addition to postgresql
+ and postgresql-socket. ODBC fails only with OODDL/TIME/1 and OODDL/TIME/2.
+ * db-odbc/odbc-sql.lisp: Add DATABASE-LIST-VIEWS. Better support
+ DATABASE-LIST-SEQUENCES.
+ * clsql-uffi.asd, clsql-mysql.asd: Improve shared library loading
+ * Database_capabilies: add HAS-VIEWS, HAS-CREATE/DESTROY-DB,
+ HAS-BOOLEAN-WHERE, TRANSACTION-CAPABLE
+ * tests/*.lisp: Check database capabilities and remove tests which
+ the database backend does not support
+ * sql/table.lisp: Add :TRANSACTIONS keyword to create table which
+ controls whether InnoDB tables will be created when supported on
+ the underlying MySQL server.
+
+20 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.9.0: New API function: LIST-TABLE-INDEXES,
+ supported by all database backends (except AODBC since
+ AODBC doesn't support index querying)
+ * db-obdc/odbc-sql.lisp: Support DATABASE-LIST-INDEXES
+ * db-odbc/odbc-api.lisp: Add %TABLE-STATISTICS function
+ to support index queries
+ * db-aodbc/aodbc-sql.lisp: Filter driver manager
+ "information_schema" tables from LIST-TABLES
+ * tests/test-basic.lisp: Remove table after testing
+ * tests/test-fddl.lisp: Test LIST-TABLE-INDEXES
+ * base/db-interface.lisp: Add DATABASE-UNDERLYING-TYPE
+ which gets the underlying type of database -- required
+ when dealing with ODBC databases and want to query
+ database capabilities. Added DB-USE-COLUMN-ON-DROP-TABLES?
+ as first database-backend specific feature. Is T on
+ :mysql, NIL on other backends. Change DROP-TABLE to
+ query this.
+
+19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.8.2: Build changes for FreeBSD [Slawek Zak]
+
+19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.8.1
+ * db-odbc/odbc-sql.lisp: Add DATABASE-LIST function
+ * db-odbc/odbc-dbi.lisp: Add LIST-ALL-DATA-SOURCES function
+
+19 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.8.0: New API function: LIST-DATABASES
+ * base/utils.lisp: Fix command-output on CMUCL/SBCL
+ * db-*/*-sql.lisp: Add new database-list function
+ * base/database.lisp: Add new LIST-DATABASES command
+
+18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.7.9
+ * db-sqlite/sqlite-sql.lisp: Fix sequence functions.
+ * db-sqlite/sqlite-api-uffi.lisp: Print error string
+ correctly.
+
+18 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.7.7
+ * doc/csql.xml, examples/clsql-tutorial.lisp: Patch for db-kind
+ from Eduardo Munoz.
+
+17 Apr 2004 Kevin Rosenberg (kevin@rosenberg.net)
* Version 2.7.6
* base/objects.lisp, base/classes.lisp: Patch
for db-kind from Eduardo Munoz