kentoku
kento****@gmail*****
2013年 3月 15日 (金) 00:29:33 JST
斯波です。 不具合のご連絡ありがとうございます。 確認させて頂いたところ、同現象が確認されましたので、 原因の調査を進めさせて頂きます。 まずは、ご連絡まで。 どうぞ、よろしくお願いいたします。 2013/3/14 Horikoshi Yuki <horik****@gmail*****>: > 久しぶりに投稿します。堀越と申します。 > > 以下の環境にて、二つのsmallintにまたがる複合indexを使った際、 > 少なり(less than)のクエリだけ期待通りに動かない問題がありましたのでご報告です。 > > 環境) > CentOS 6.3 (64bit) > groonga.x86_64 3.0.1-1.el6_9.wing > mysql56-mroonga.x86_64 3.01-1.el6_10.wing > (WING☆さん、いつもありがとうございます) > > SCHEMA) > CREATE TABLE test ( > id int unsigned, primary key auto_increment, > word text, > year smallint unsigned, > month smallint unsigned, > fulltext index(caption), > index `ym` (year,month)) ENGINE=mroonga default charset utf8; > > DATA) > INSERT INTO test (word,year,month) VALUES > ('abc',1999,1),('def',2000,1),('ghi',2001,1),('jkl',2002,1); > > 正常) > mysql> SELECT * FROM test WHERE year > 2000; > +----+------+------+-------+ > | id | word | year | month | > +----+------+------+-------+ > | 3 | ghi | 2001 | 1 | > | 4 | jkl | 2002 | 1 | > +----+------+------+-------+ > 2 rows in set (0.01 sec) > > 異常) > mysql> SELECT * FROM test WHERE year < 2000; > Empty set (0.01 sec) > > > なお、以下のように複合indexでなかった場合は再現しません。 > SCHEMA) > CREATE TABLE TEST ( > id int unsigned, primary key auto_increment, > word text, > year smallint unsigned, > month smallint unsigned, > fulltext index(caption), > index `year` (year), #分割 > index `month` (month) #分割 > ) ENGINE=mroonga default charset utf8; > > 正常) > mysql> SELECT * FROM test WHERE year < 2000; > +----+------+------+-------+ > | id | word | year | month | > +----+------+------+-------+ > | 1 | abc | 1999 | 1 | > +----+------+------+-------+ > 1 row in set (0.01 sec) > > 一応手元の環境では100%の再現性があるようでしたが、 > 他に必要な情報などあればお知らせください。 > > 複合indexを使わなければ問題なさそうなので緊急性は低そうですが > ご確認の程、何卒よろしくお願いいたします。 > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev