+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * TODO: New section on optimizations, especially optimizing JOINs.
+
+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.11
+ * base/basic-sql.lisp: Avoid multiple evaluation
+ of query-expression in DO-QUERY
+ * sql/objects.lisp: Make SELECT a normal function.
+ SELECT now accepts type-modified database identifiers, such as
+ [foo :string] which means that the values in column foo are returned
+ as Lisp strings. Add new *update-records-on-make-instance* special
+ variable controlling automatic creation of new instances. Add missing
+ RESULT-TYPES keyword to FIND-ALL. Add :target-slot support.
+ * sql/packages.lisp: Export *update-records-on-make-instance*
+ * test/test-oodml.lisp: Add tests for :target-slot and many-to-many
+ selections.
+ * test/test-fdml.lisp: Add tests for type-modified
+ database identifiers.
+ * test/test-init.lisp: Stop using add-relation since implementing
+ many-to-many joins. Use *update-records-on-make-instance*
+ to automatically store records on instance creation. Add many-to-many
+ employee-address view-class.
+
+4 May 2004 Kevin Rosenberg (kevin@rosenberg.net)
+ * Version 2.10.10
+ * base/loop.lisp: Add 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.
+ * sql/package.lisp: Remove unnecessary clsql-sys package
+ and replace it with clsql.
+ * sql/metaclasses.lisp: Properly store specified-type from
+ direct-slot-definition and then store translated type in
+ effective-slot-definition
+ * sql/classes.lisp: Don't output type in sql-output
+ for SQL-IDENT-ATTRIBUTE. This is in preparation for supporting
+ [foo :integer] as fields in SELECT.
+ * sql/query.lisp: Set default for :result-types to :auto in
+ FDML QUERY.
+ * sql/objects.lisp: Use specified-type when invocating
+ database-get-type-specifier. def-view-class macro now returns
+ the class instance.
+ * base/basic-sql.lisp: Make :AUTO the default value for
+ :RESULT-TYPES for MAP-QUERY and DO-QUERY.
+ * sql/objects.lisp: Add bigint type
+ * 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.
+ * test/test-syntax.lisp: Don't expect TYPE in the SQL-OUTPUT
+ of SQL-IDENT-ATTRIBUTE.
+ * test/test-oodml.lisp: Enable OO loop iteration test,
+ modify it so it doesn't depend on boolean where.
+
+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
classic without any functionality that is provided in the clsql
system.
* classic/package.lisp: Rename clsql-classic-sys package to
- it's former nickname of clsql-classic
+ 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