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

Back to archive index

kentoku kento****@gmail*****
2012年 9月 14日 (金) 01:22:46 JST


斯波です。

ご連絡、ご確認ありがとうございます!

以下の点が他のストレージエンジンと挙動が異なりますが、
それ以外については同じ挙動となるよう修正し、
次回のリリースに含められる予定となりましたので、
ご連絡させて頂きます。
・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 メーリングリストの案内
Back to archive index