[groonga-dev,01038] Re: mroongaエンジンのdatetime型について

Back to archive index

中谷宗嵩 nakatani_munet****@flyin*****
2012年 9月 14日 (金) 12:06:51 JST


中谷です。

>福井様
>
ご確認ありがとうございました。
うちの環境だけかと不安だったので、心強かったです。


>斯波様
>
ご対応いただけるとのこと、ありがとうございます。
次回のリリースを楽しみにお待ちしております。


どうぞよろしくお願い致します。


2012年9月14日 1:22 kentoku <kento****@gmail*****>:
> 斯波です。
>
> ご連絡、ご確認ありがとうございます!
>
> 以下の点が他のストレージエンジンと挙動が異なりますが、
> それ以外については同じ挙動となるよう修正し、
> 次回のリリースに含められる予定となりましたので、
> ご連絡させて頂きます。
> ・NULLが'1970-01-01 00:00:00'となる
> ・0月0日は1月1日に補正される
>
> どうぞ、よろしくお願いいたします。
>
>
> 2012年9月13日 18:33 福井 朝臣 <a.fuk****@acewa*****>:
>> WING☆こと福井です。
>> この度、会社のメールアドレスでも参加させて頂きました。
>>
>> datetime型の件ですが、少し時間があったので試してみましたが、
>> うちの以下の環境でも同様の結果となりました。
>>
>> OS: CentOS5.8 x86_64
>> MySQL: 5.5.27
>> mroonga: 2.06
>> repo: epel、wing
>> 設定: デフォルト状態。
>>
>> 以上、ご報告致します。
>>
>>
>>> 株式会社フライングラインの中谷です。
>>> mroonga、いつも便利に利用させていただいております。
>>>
>>>
>>> 表題の件ですが、mroongaエンジンを使ったテーブルで、
>>> datetime型のカラムにインサートを行ったところ、
>>> 意図していないデータが登録されてしまったため、報告させていただきます。
>>> 詳細は以下をご覧下さい。
>>>
>>>
>>> 【環境】
>>> ・CentOS6.2
>>> ・MySQL5.1.61
>>> ・mroonga2.0.3
>>>
>>>
>>> 【テーブル構造】
>>> mysql> show create table datetime_test \G
>>> *************************** 1. row ***************************
>>>        Table: datetime_test
>>> Create Table: CREATE TABLE `datetime_test` (
>>>   `id` int(11) NOT NULL AUTO_INCREMENT,
>>>   `input` varchar(254) DEFAULT NULL,
>>>   `datetime` datetime DEFAULT NULL,
>>>   PRIMARY KEY (`id`)
>>> ) ENGINE=mroonga DEFAULT CHARSET=utf8
>>> 1 row in set (0.00 sec)
>>>
>>>
>>> 【データ】
>>> 上記のテーブルに下記6点のデータをインサートしました。
>>> ------------------------------------------
>>> ・mysql> insert into datetime_test (input,datetime) values ('NULL',NULL);
>>> ・mysql> insert into datetime_test (input,datetime) values ('1000-01-01
>>> 00:00:00','1000-01-01 00:00:00');
>>> ・mysql> insert into datetime_test (input,datetime) values ('9999-12-31
>>> 23:59:59','9999-12-31 23:59:59');
>>> ・mysql> insert into datetime_test (input,datetime) values ('2038-01-19
>>> 03:14:07','2038-01-19 03:14:07');
>>> ・mysql> insert into datetime_test (input,datetime) values ('2038-01-19
>>> 03:14:08','2038-01-19 03:14:08');
>>> ・mysql> insert into datetime_test (input,datetime) values ('2012','2012');
>>> ------------------------------------------
>>> ※確認しやすいように、datetimeカラムにインサートする日付を、inputカラムにvarchar型で入力しています。
>>>
>>>
>>> そのselect結果が以下になります。
>>>
>>> mysql> select * from datetime_test ;
>>> +----+---------------------+---------------------+
>>> | id | input               | datetime            |
>>> +----+---------------------+---------------------+
>>> |  1 | NULL                | 1970-01-01 00:00:00 |
>>> |  2 | 1000-01-01 00:00:00 | 1987-04-15 03:01:07 |
>>> |  3 | 9999-12-31 23:59:59 | 1970-01-09 21:47:45 |
>>> |  4 | 2038-01-19 03:14:07 | 2038-01-19 03:14:07 |
>>> |  5 | 2038-01-19 03:14:08 | 1901-12-13 20:45:52 |
>>> |  6 | 2012                | 2034-08-29 05:43:15 |
>>> +----+---------------------+---------------------+
>>> 6 rows in set (0.00 sec)
>>>
>>>
>>> このように、本来datetime型で入るはずの日付が、違う日付に変わってしまっています。
>>> また、2038年問題と思われる現象も起きているようです。
>>> 参考までに、同じ内容をInnoDBのテーブルで入力したところ、下記の結果が得られます。
>>>
>>> mysql> select * from datetime_test2;
>>> +----+---------------------+---------------------+
>>> | id | input               | datetime            |
>>> +----+---------------------+---------------------+
>>> |  1 | NULL                | NULL                |
>>> |  2 | 1000-01-01 00:00:00 | 1000-01-01 00:00:00 |
>>> |  3 | 9999-12-31 23:59:59 | 9999-12-31 23:59:59 |
>>> |  4 | 2038-01-19 03:14:07 | 2038-01-19 03:14:07 |
>>> |  5 | 2038-01-19 03:14:08 | 2038-01-19 03:14:08 |
>>> |  6 | 2012                | 0000-00-00 00:00:00 |
>>> +----+---------------------+---------------------+
>>> 6 rows in set (0.00 sec)
>>>
>>>
>>> 現象は以上になります。
>>>
>>> 私の環境に問題がありそうであれば、その箇所を教えていただけますと幸いです。
>>> どうぞよろしくお願い致します。
>>>
>>>
>>> -----------------------------------------
>>> 株式会社 フライングライン
>>> 中谷 宗嵩
>>>
>>> 東京都中央区銀座8-11-11 TK銀座8丁目ビル
>>> URL: http://www.flyingline.co.jp/
>>> Tel: 03-5537-0390 Fax: 03-5537-0391
>>> Mail: nakatani_munet****@flyin*****
>>>
>>> 書評サイト『本が好き!』
>>> http://www.honzuki.jp/
>>>
>>> これから発売される本の検索が出来る
>>> 「近刊情報サーチ」
>>> http://comingbook.honzuki.jp/
>>>
>>> _______________________________________________
>>> groonga-dev mailing list
>>> groon****@lists*****
>>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>>
>> --
>> ━━━━━━━━━━━━━━━…………‥‥‥・・・
>> 株式会社エースウェア 福井 朝臣
>>
>> 金沢本社
>> 〒921-8013 石川県金沢市新神田2丁目13番8号
>> TEL: 076-291-8815
>> FAX: 076-291-8816
>>
>> 東京営業所
>> 〒104-0033 東京都中央区新川一丁目28番25号
>>       東京ダイヤビルディング3号館 2階
>> TEL: 03-6280-3140 (代表)
>> TEL: 03-6280-3142 (データセンタ)
>> FAX: 03-6280-3141
>>
>> URL: http://www.aceware.co.jp/
>> Email: a.fuk****@acewa*****
>> 携帯: 080-8696-2556
>> ━━━━━━━━━━━━…………‥‥‥・・・
>>
>> _______________________________________________
>> groonga-dev mailing list
>> groon****@lists*****
>> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev



-- 
-----------------------------------------
株式会社 フライングライン
中谷 宗嵩

東京都中央区銀座8-11-11 TK銀座8丁目ビル
URL: http://www.flyingline.co.jp/
Tel: 03-5537-0390 Fax: 03-5537-0391
Mail: nakatani_munet****@flyin*****

書評サイト『本が好き!』
http://www.honzuki.jp/

これから発売される本の検索が出来る
「近刊情報サーチ」
http://comingbook.honzuki.jp/




groonga-dev メーリングリストの案内
Back to archive index