smztks
smztk****@gmail*****
2013年 3月 28日 (木) 22:18:42 JST
お世話になっております。
清水と申します。
mroongaを利用していたところ、気になる挙動がありましたので、ご連絡させて頂きました。
mroongaストレージモードにて特定の数値(bigint型、unsignedの有無両方)を登録すると、特定の数値が検索できない状態となります。
以下再現手順となります。
CREATE TABLE IF NOT EXISTS `test` (
`id` bigint unsigned,
`text` varchar(255),
) ENGINE=mroonga DEFAULT CHARSET utf8;
INSERT INTO test(`id`,`text`) VALUES (317173755057152000, 'aaa');
INSERT INTO test(`id`,`text`) VALUES (317173755057152002, 'bbb');
SELECT * FROM test;
2件
SELECT * FROM test WHERE id = 317173755057152000;
2件
SELECT * FROM test WHERE id = 317173755057152002;
0件
また、以下のようにユニークキー制約をかけると、検出結果も変わってきます。
CREATE TABLE IF NOT EXISTS `test` (
`id` bigint,
`text` varchar(255),
UNIQUE unq_id(id)
) ENGINE=mroonga DEFAULT CHARSET utf8;
SELECT * FROM test;
2件
SELECT * FROM test WHERE id = 317173755057152000;
1件
SELECT * FROM test WHERE id = 317173755057152002;
0件
varchar型を使う等もありましたが、できればbigint型を使用したいので
お手数ですが、回避策等ありましたら、ご教示のほどよろしくお願い致します。
mroongaはソースからのビルドを利用しています。
mroonga_version 3.0.2
groonga.x86_64 3.0.2-0.el6 @groonga
groonga-devel.x86_64 3.0.2-0.el6 @groonga
groonga-libs.x86_64 3.0.2-0.el6 @groonga
groonga-normalizer-mysql.x86_64 1.0.2-0.el6 @groonga
groonga-plugin-suggest.x86_64 3.0.2-0.el6 @groonga
groonga-tokenizer-mecab.x86_64 3.0.2-0.el6 @groonga
mecab.x86_64 0.995-1.el6 @groonga
mecab-ipadic.x86_64 2.7.0.20070801-6.el6.1
MySQL:
mysql55.x86_64 5.5.30-1.ius.el6 @ius
mysql55-devel.x86_64 5.5.30-1.ius.el6 @ius
mysql55-libs.x86_64 5.5.30-1.ius.el6 @ius
mysql55-server.x86_64 5.5.30-1.ius.el6 @ius
mysqlclient16.x86_64 5.1.61-1.ius.el6 @ius
OS:
CentOS 6.4 64bit