Work to add UTC tracking to wall-times timestamp-utc
authorRuss Tyndall <russ@acceleration.net>
Sun, 4 Feb 2018 19:43:58 +0000 (14:43 -0500)
committerRuss Tyndall <russ@acceleration.net>
Mon, 5 Feb 2018 22:00:01 +0000 (17:00 -0500)
commit6e6c8cbc40dffab9cdf33ef3f37e6b89fe5a28ce
tree298d174d8ee02752cb9aad992678d2ba03c46c5c
parentade04fc6aa18497812f74950f2b10c23fbb5bf68
Work to add UTC tracking to wall-times

 * We handle timezones by converting to UTC time during parse
 * Ends up leaving wall-times that look like locatimes,
   but are UTC
 * Causes times to advance by zone-offset every read/write
   to a timezone aware database (postgresql-socket3)
 * To prevent this we will track whether a date will be in UTC
   or is a local time.  When writing out UTC timestamps we add a Z to
   the end
 * During comparison, we always convert to UTC to compare,
   we assume zoneless timestamps are local-times

There was a lot of personal debate about how to do this. I think a
better answer would be to fully replace clsql-date/times with the
local-time library which has a more comprehensive handling of dates
and times.

re ADWolf:#1408
ChangeLog
clsql.asd
db-postgresql-socket3/sql.lisp
sql/time.lisp
tests/test-init.lisp
tests/test-time.lisp