Changes regarding standard_conforming_strings in postgres
[clsql.git] / ChangeLog
index e7c5d9bfcb11e4550e9a03841fcd84da7c14e472..d274bf49daf41d7f7dbcf64dadeebb057b60ef0d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-2014-03-18 Russ Tyndall <russ@acceleration.net>
+2018-04-08 Russ Tyndall <russ@acceleration.net>
+        * sql/db-interface, expressions, fdml, generic-postgres
+       db-mysql/mysql-sql.lisp db-postgresql-socket3/sql.lisp
+
+        - I created a new protocol function (database-escape-backslashes
+          database)
+        - I changed the the generic mysql and postgres databases
+         to return T
+        - I made the postgresql-socket3 backend check for
+         standards_conforming_string which is exposed in the underlying
+         cl-postgres connection
+       - It seems likely that postgresql-socket3 could always return NIL, as
+         cl-postgres would probably handle this escaping anyway
+
+         This replaced some special case code in (database-output-sql (string
+         database))
+
+       
+2018-02-04 Russ Tyndall <russ@acceleration.net>
+       * sql/generic-postgres.lisp:    
+       Wall times default to being timestamptz in postgresql now.
+       There was a TODO questioning why it was storing zoneless by
+       default - it was because of the bugs about tracking UTC
+       vs zoneless
+
+       
+2018-02-03 Russ Tyndall <russ@acceleration.net>
+       * sql/time.lisp, tests/time.lisp:       
+       Better distinguishing between zoneless timestamps and UTC times,
+       particularly as relates to postgresql-socket(3) backends. Without
+       this change, timestamptzs are read as localtimes and saved as
+       localtimes, when they should be read and printed as UTC times,
+       this bug will lead to dates changing every save as they are being
+       reconverted to UTC again.
+
+       We followed a minimal approach (following postgresql' lead), we
+       simply add a is-utc? boolean.  Before this, zoned times were
+       converted to UTC, but since we never tracked that it was a UTC
+       time vs a zoneless time, there was conflation between the two.  In
+       order to preserver comparability between dates and times that are
+       local vs UTC. I wrote a `time-to-utc` utilizing decode-time's
+       implementation dependent timezone defaulting.
+       (I verified the math by comparing results to the local-time
+       library from quicklisp).
+
+       Ultimately, adoption of a third party datetime library is my
+       strong preference (eg: local-time).  While this project has, as a
+       whole refrained from outside requirements, I think that we should
+       consider moving to local-time as our date / time format, or
+       providing that as an option, both to support a semi standardized
+       eco system, and also to have a more robust timestamp implementation.
+
+
+2016-01-26 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.7.0 release
+       * sql/utils.lisp: Apply patch from Martin Simmons for
+       Lispworks 7 compatiblity
+
+2016-01-17 Russ Tyndall <russ@acceleration.net>
+        * applied patches from Javeier Olaechea
+       * allows unix socket connections in clsql-postgressql-socket3
+       * modernize asd slightly
+
+2015-10-09 Russ Tyndall <russ@acceleration.net>
+        * add decimals.lisp file https://github.com/tlikonen/cl-decimals
+       * use this for safe parsing of numeric / decimal / rational types
+       * Added because newer postgres print money types as currency strings
+
+2015-08-12 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.6.3 release
+       * db-oracle/oracle-sql.lisp: Patch for PostgreSQL socket interface
+       for unicode characters. Thanks to Jason Melbye.
+
+2015-06-02 Daniel KochmaƄski <dkochmanski@turtle-solutions.eu>
+       * clsql.asd, sql/package.lisp: Add ECL compatibility fixes
+       * sql/db-interface.lisp: Fix declaration typo
+
+2015-04-06 Russ Tyndall <russ@acceleration.net>
+       * sql/operations, sql/expressions: add postgresql E-string
+       operator / expression.  Needed for correct regex handling
+       EG: [E "some string"]=> E'some string'
+
+2015-03-30 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.6.2 release
+       * db-oracle/oracle-sql.lisp: Remove extra hyphen, thanks to
+       Thomas Vossen
+       
+2015-03-24 Russ Tyndall <russ@acceleration.net>
+       * sql/oodml.lisp: fixed call-next-method in the base of
+       read-sql-value and replaced with a continuable
+       sql-value-conversion-error
+       * default read-sql-value for list
+       * tests for sql-value-conversion-errors and list
+
+2015-03-18 Russ Tyndall <russ@acceleration.net>
        * {uffi,db-mysql}/Makefile: remove -pie build hardening for
        which caused load issues for Linux Mint
 
-2014-02-26 Kevin Rosenberg <kevin@rosenberg.net>
+2015-03-18 Kevin Rosenberg <kevin@rosenberg.net>
+       * Version 6.6.1 release
+       * {uffi,db-mysql}/Makefile: Remove pie from build
+       hardening options for Debian/Ubuntu systems. Thanks to
+       DJ <jakep@arqux.com> and Russ Tyndall <russ@acceleration.net>
+
+2015-02-26 Kevin Rosenberg <kevin@rosenberg.net>
        * Version 6.6.0 release
        * {uffi,db-mysql}/Makefile: Add build hardening for Debian
 
-2014-02-24 Russ Tyndall <russ@acceleration.net>
+2015-02-24 Russ Tyndall <russ@acceleration.net>
        * mysql-sql.lisp
        an error in type declarations generating a compilation warning
        was being treated as an error in recent SBCLs, fixed the type
        warning by correcting the type (still a ton of compliation
        notes)
 
-2014-02-23 Russ Tyndall <russ@acceleration.net>
+2015-02-23 Russ Tyndall <russ@acceleration.net>
        * sql/metaclasses.lisp
        made reinitialize-instance return the instance passed to it as
        SBCL now expected (mentioned on the SBCL-devel mailing list by