+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 moving forward 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.
+ Ultimately, adoption of a third party datetime library is my
+ strong preference (eg: local-time).
+
+ In order to preserver comparability between dates and times
+ that are local vs UTC. I have started requiring the local-time
+ library (available from quicklisp and github). 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. Local-time is currently used to automatically convert
+ zoneless timestamps from localtime to UTC - allowing meaningful
+ comparisons of all timestamps. There is definitely an overhead
+ to casting local times to UTC this way, but its the only way to
+ keep data as it is (zoneless timestamps stay zoneless - UTC stamps
+ stay UTC and still preserve)
+
+