Giuseppe Maxia wrote: > On Wed, Aug 27, 2008 at 6:50 PM, Sheeri K. Cabral <[EMAIL PROTECTED]> wrote: >> On 8/27/08, Jay Pipes <[EMAIL PROTECTED]> wrote: >>> Couldn't agree more. TZ belongs in the application layer, which knows >>> best about conversions and locales. UTC in the DB is the way to go IMHO. >> OK, only one thing -- it's not that UTC is stored in the db, it's that there >> is no timezone information stored along with the datetime in the db, and the >> *assumed* timezone is UTC. >> >> I bring this nitpicky point up because it's all relevent to how NOW() and >> SYSDATE() and CURRENT_DATE() and CURRENT_TIME() and other date/timestamp >> stuff works. >> >> Do we trust 100% that the user/application will do the right thing? Or do >> we accept timezones and issue an error if the timezone isn't UTC? Or a >> warning, that we're doing an implicit conversion (usually bad to do this >> type of thing)? >> >> If we say "no timezones no how no way no chance" then we trust 100% that the >> user/application does the right thing, and if they just hardcode what the >> app code says is "now" into a query, then you still have the problem that >> people are *storing* in their timezone, complete with daylight savings time, >> etc. >> >> -Sheeri >> > > One of the reason for complaining against MySQL shortcomings was that > the implementation of many features did not take user needs into > account. > The implementation makes perfect sense to the developers, but the > users are not considered at all. > Let's not repeat the same mistakes with Drizzle! > > Timestamps with time zone information are quite common (blog XML > feeds, web server logs), and the user must have a way of inserting > that information without need to write an application.
The "user" of the database is the developer. > Think about this: I have some data to insert, and an application that > does not know about TZ. If the database recognizes TZ extensions, I > just feed the data in. If it doesn't I need to code (or pay someone to > code) a change. Yes, you need to code a change. ALL programming languages provide this ability. Do it in the application, IMHO. Nothing should be in the database that is not critical to the storage of data; in this case, TZ is a *display* issue, not a storage issue. If all times are stored in UTC, then the application developer (the user) can choose to display or convert that time into whatever locale/TZ they wish (just as Drupal currently does, for instance) > What is our purpose? To end up in a textbook as the purest example of > date time implementation or to create a database that common people > would really want to use? IMHO, our purpose is not to provide timezone conversion in the database. It's to store it in a standardized, singular way, and let application developers do what they want with that data. This is the same reason we removed the silly zerofill arguments for integer data types. > I'd say that adding (non compulsory) TZ information to the datetime > field is going to be good for users. Depends on who you see as a "user". In my mind, a developer using drizzle is the user, not the end-user of the application running on drizzle. *Those* users (end-users) need to talk to the developer of the application, not to the developer of the database it is running on. Square pegs go in square holes. You don't send the toy back to the manufacturer to fix just because you want the round peg to go in the square hole. :) My 2 cents, Jay _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : drizzle-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp