DATETIME + TIMEZONE

Registered by Aarti Pai

Figure out how to efficiently handle timezones without supporting tzfiles or info in the server.

Blueprint information

Status:
Complete
Approver:
Brian Aker
Priority:
Essential
Drafter:
Brian Aker
Direction:
Approved
Assignee:
Jay Pipes
Definition:
Approved
Series goal:
Accepted for trunk
Implementation:
Implemented
Milestone target:
milestone icon tarball
Started by
Lee Bieber
Completed by
Jay Pipes

Related branches

Sprints

Whiteboard

Our existing timezone system is messed up beyond my ability to repair it. This is what is proposed for the tarball release:

a) Only support UTC (for both storage and display of datetime values)

b) Remove all the code in mysys/my_time.cc and drizzled/tztime.cc which references timezones. It's irrevocably borked.

FYI, if you thought it was "working" up until now, you'd be mistaken. The test-run.pl script does not set the database server's timezone (using set @@time_zone="GMT-3"). It overrides the machine's TZ environment variable, and upon startup, the init_time() routine attempts to determine an offset from GMT based on the TZ environment variable. This routine sets a few global variables (namely my_time_zone) to a long value offset from GMT in seconds. The rest of the routines in tztime.cc and my_time.cc reference this offset and attempt to correct it based on daylight savings. The system is just totally borked IMHO.

If we can agree to a) and b) above, I think I can finish up the temporal work this weekend.

After tarballs are done, I can complete my existing work on using the ICU library's timezone handling as our base timezone stuff and add back the ability to have timezones handled by the server.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.