fixed bug causing some failing sqlite3 tests (database-identifiers are not string=)
[clsql.git] / ChangeLog
index 819087e8c1f09c0639614745a0272b8c879f73eb..fad7f77c3f50983e2b8ea74155a8f078bc8f29b2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,118 @@
+2014-01-30 Russ Tyndall <russ@acceleration.net>
+       * sqlite3-sql.lisp, fddl.lisp Dont compare database-identifiers
+       with invalid comparison operators
+
+2014-01-30 Russ Tyndall <russ@acceleration.net>
+       * generic-odbc.lisp, ooddl.lisp, generic-postgresql.lisp,
+       test-init.lisp, ds-nodes.lisp, generic-odbc.lisp, odbc-sql.lisp
+
+       auto-increment-column support improvement (mssql esp, now will
+       auto-fill after insert). Use +auto-increment-names+ to determine
+       auto-increment-column-p.
+
+       This triggered much test failing as regards normalized classes /
+       autoincrement primary key stuff.
+
+       New odbc-postgresql-database sub-type
+
+       POSSIBLY BREAKING CHANGES:
+       1 ) Previously all classes in a normalized heirachy had their p-key
+       marked as "auto-increment".  Usually auto-increment means a key
+       supplied by the database system, so this was decidedly
+       non-standard usage (clsql is explicitly providing the key for all
+       normalized subclasses of any given parent see ds-nodes.lisp). Some
+       RDMS will not allow insertion/updates of autoincrement columns
+       without hoop jumping and, as it doesnt really make much sense, I
+       removed the "auto-increment" aspects of normalized sub-classes.
+       Now the primary keys are chained regardless. The parent-most key
+       can be autoincrement or not.
+
+       2 ) ODBC Postgresql connections are now both GENERIC-ODBC-DATABASE
+       and GENERIC-POSTGRESQL-DATABASE.  Probably not a widely used path,
+       but this change allows most of the previously failing tests to
+       pass on this backend (we now format stuff correctly for postgres).
+       I anticipate this probably is not perfect yet (IE: I probably
+       missed something)
+
+2014-01-29 Russ Tyndall <russ@acceleration.net>
+       * oodml.lisp, generics.lisp - added
+       clsql-sys::view-classes-and-storable-slots generic (added method
+       previously).  Also added to-database-p keyword to allow overrides
+       to distinguish between the two situations. Mostly so that
+       clsql-helper:dirty-slots-mixin can filter slots when writing
+       values to the database but still allow all slots to be read from
+       the database
+
+2014-01-17 Russ Tyndall <russ@acceleration.net>
+       * oodml.lisp, generics.lisp - added filter-select-list generic
+         to allow fine grained control of generated query/object mappings
+       
+2014-01-07 Russ Tyndall <russ@acceleration.net>
+       * clsql-uffi.lisp, sqlite3 auto-increment support
+       * clsql-uffi.lisp, test-basic.lisp, fixes related to unsigned vs
+          signed ints (thanks Aaron Burrow)
+       * cleaning and testing
+
+2013-09-27 Russ Tyndall <russ@acceleration.net>
+       * fixed bug converting to boolean in db-mysql/mysql-sql.lisp
+       from github user Sectoid https://github.com/UnwashedMeme/clsql/pull/1
+
+2013-06-19 Russ Tyndall <russ@acceleration.net>
+        * sql/oodml.lisp, db-postgresql-socket3/sql.lisp,
+          db-mysql/mysql-objects.lisp, sql/generic-odbc.lisp
+        Refactored read-sql-value similar to the other recent refactorings
+
+        * the symbol case now uses intern instead of read-from-string
+          (which may not return a symbol and could have security issues
+          since read-eval was not being unset)
+
+        * read-eval is now off for all cases
+
+        * centralized logic into a single case statement, hopefully making
+          this more readable and debuggable
+
+        * TODO: make these refactorings to the oracle backend (I cannot
+          test against oracle and am loathe to change without testing
+
+2013-06-19 Russ Tyndall <russ@acceleration.net>
+        * sql/mysql-objects.lisp
+        Found and refactored a way some more eql specified methods of
+        database-get-type-specifier in mysql
+
+2013-06-18 Russ Tyndall <russ@acceleration.net>
+        * sql/oodml.lisp, sql/mysql-objects.lisp
+        refactored database-output-sql-as-type in a similar fashion to
+        the previous refactor of database-get-type-specifier (fewer
+        methods using case instead of eql specifiers)
+
+        * removed very strange definition of outputing floats as strings
+          for something sane (it was previously doing silly work like
+          setting the default read float type (which AFAICT doesnt affect
+          printing))
+
+        * half of the cases nil returned "" other times it returned nil,
+          now if we get a null value we return nil always
+
+        * removed odd-logic (seemingly untouched since the initial import),
+          that removed null characters from printed lists.  If we have #\null
+          in a printed list, we had probably better figure out what went wrong
+          there rather than destructively modifying the list output on the way
+          to the DB ;; removed (substitute-char-string escaped #\Null " ")
+
+2013-06-18 Russ Tyndall <russ@acceleration.net>
+        * sql/generic-odbc.lisp, sql/generic-postgresql.lisp, sql/oodml.lisp
+         tests/test-fddl.lisp
+
+       refactored database-get-type-specifier for postgres and mssql
+
+        Single methods with a case on the symbol arg (similar to the recent
+        refactoring in oodml.lisp)
+
+        This reduces line count and generally makes it easier to find and
+        read all the backend-specific types
+
 2013-06-10 Russ Tyndall <russ@acceleration.net>
-        * sql/oodml.lisp, sql/generic-postgresql.lisp, doc/ref-fddl.xml, 
+        * sql/oodml.lisp, sql/generic-postgresql.lisp, doc/ref-fddl.xml,
          sql/packages.lisp
 
        Updated get-database-type-specifier to handle text/longchar type
          * updated the docs to use text instead of longchar since text is
          a more standard db-type (pg,my,and ms all use text)
 
+2013-04-17 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.4.1
+       * sql/utils.lisp: Patch from Ben Hyde to add weak hash table
+       support for CCL.
+
 2013-03-07 Ryan Davis <ryan@acceleration.net>
        * db-postgresql-socket/postgresql-socket-api.lisp - bugfix to
        adapt to changes in md5:md5sum-sequence. CLSQL now requires a