Jay Pipes wrote:
All:

As you may know, Drizzle does not support timezones. All datetimes/timestamps are stored and operated upon using UTC.

Due to this, it looks like the NOW() function and some of its brother and sister synonym functions will overlap the functionality of the UTC_TIMESTAMP() function.

According to the manual, the NOW() function:

"Returns the current date and time as a value in 'YYYY-MM-DD HH:MM:SS' or YYYYMMDDHHMMSS.uuuuuu format, depending on whether the function is used in a string or numeric context. The value is expressed in the current time zone."

According to the manual, the following functions are all synonyms for the NOW() function:

CURRENT_TIMESTAMP
CURRENT_TIMESTAMP()
LOCALTIME
LOCALTIME()
LOCALTIMESTAMP
LOCALTIMESTAMP()

However, due to Drizzle only supporting UTC, the following functions will be identical to NOW() as well:

UTC_TIMESTAMP()
UNIX_TIMESTAMP() (called with no args)

Questions for everyone to discuss/vote on:

OK, seriously, do we need all these synonyms?! Can we standardize on one or two that best represent the result and purpose of the function?

Personally, I think that UTC_TIMESTAMP() is the most descriptive, but can see CURRENT_TIMESTAMP() as OK too. Keeping NOW() may be good for people moving from MySQL to Drizzle, however, it may introduce issues where the user assumes the behaviour of NOW() to use timezones.

These are the standard types:
  CURRENT_DATE
  CURRENT_TIME
  CURRENT_TIMESTAMP
  LOCALTIME
  LOCALTIMESTAMP

Obviously, there is no reason to keep neither LOCALTIME nor LOCALTIMESTAMP due to lack of local time types. UTC_TIMESTAMP should be deleted - UTC is implicit in CURRENT_TIMESTAMP. NOW can be kept as a synonym, I guess.

Note also that the standard defines e.g CURRENT_TIME(precision), where precision defines the split-second precision of the value. Even though Drizzle does not currently support arbitrary time precision, I'd suggest you delete the CURRENT_TIME() syntax because it is redundant and it might be confused with the precision specification syntax.

Thanks,
Roy

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to