Feature #176
GRN_DB_TIME型における「閏年」「閏秒」の扱いについて
| Status: | 新規 | Start date: | 03/30/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | 1.5 |
Description
GRN_DB_TIMEの値はUNIX時間(エポック秒からの経過秒数)をマイクロ秒単位で表現したもの(実装はGRN_DB_INT64による8bytes整数)となっていると思いますが、GRN_DB_TIME型のカラムに値を入れる際、その値は閏年(うるう年)と閏秒(うるう秒)をどのように考慮した値にする必要がありますでしょうか。
森さんに確認したところ、まだ仕様の確定をされていないとのことでしたので、チケットをオープンさせていただきました。
この件に関して、どういう状況で詳細仕様が必要になるかというと例えば以下のような場合です。
MySQLのデータ型の一つにYEAR型というのがあります。これはいわゆる年(YYYY)を数値で表したものなのですが、これをGRN_DB_TIMEにマッピングさせる際、2010年なら"2010/01/01 00:00:00"と解釈した上で、"1970/01/01 00:00:00"との差分(単位:マイクロ秒)をGRN_TIME_SETすることになります。
このときの差分を計算する際、「閏年」「閏秒」を考慮した計算を行う必要性がでてきます。他にもDATE型、DATETIME型なども同様です。
とりあえず現在のmroongaではデータ変換を行わずに素の値を突っ込んでいるのでいまのところmroonga開発上の影響はありません。
宜しくお願いいたします。
History
Updated by daijiro MORI over 1 year ago
- Target version set to 1.5