[groonga-dev,03198] Re: mroongaで同一レコードの登録、削除、登録を行うとユニークキー重複エラー発生

Back to archive index

HAYASHI Kentaro hayas****@clear*****
2015年 4月 30日 (木) 13:43:39 JST


林です。

On Thu, 30 Apr 2015 10:51:01 +0900
yuya sako <ysgon****@gmail*****> wrote:

> 昨日はmroongaバージョン5.02をリリース頂きまして、ありがとうございました。
> 
> 度々すみません。
> 
> 5.02(*)にアップデートしまして再現手順を試したところ、キーの重複エラーが発生いたしました。
> (*)mysql-community-mroonga.x86_64    5.02-1.el7.centos
> 
> お手数をおかけいたしますが、ご確認をお願いできないでしょうか。
> 
> 酒匂
>

ご利用のGroongaのバージョンはいくつでしょうか。
Mroongaが利用しているGroonga(のバージョン5.0.3)で修正された問題なので
MroongaだけでなくGroonga *も* あわせてアップデートする必要があります。

もし、まだ5.0.3でないならGroongaをアップデート後にMySQLを再起動してください。
すると、新しくインストールしたGroongaを使うようになるので問題が解決するはずです。

$ rpm -qa | grep roonga
groonga-5.0.3-1.el7.centos.x86_64
groonga-release-1.1.0-1.noarch
groonga-plugin-suggest-5.0.3-1.el7.centos.x86_64
groonga-normalizer-mysql-1.0.9-1.el7.centos.x86_64
groonga-libs-5.0.3-1.el7.centos.x86_64
groonga-httpd-5.0.3-1.el7.centos.x86_64
mysql-community-mroonga-5.02-1.el7.centos.x86_64
groonga-debuginfo-5.0.3-1.el7.centos.x86_64
groonga-server-common-5.0.3-1.el7.centos.x86_64

手元で念のため再現クエリを追試してみましたがエラーは発生しませんでした。

mysql> use test;
Database changed
mysql> CREATE TABLE `uk_test` (
    ->   id int(10) unsigned not null,
    ->   uid varchar(150) not null,
    ->   data text not null,
    ->   primary key (id),
    ->   unique key uid (uid)
    -> ) ENGINE=mroonga DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.09 sec)

mysql> 
mysql> INSERT INTO uk_test (id,uid, data) VALUES (1,'uid2','');
Query OK, 1 row affected (0.03 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (2,'uid1','');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (3,'uid3','');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (4,'uid4','');
Query OK, 1 row affected (0.00 sec)

mysql> DELETE FROM uk_test WHERE `id`='1';
Query OK, 1 row affected (0.00 sec)

mysql> DELETE FROM uk_test WHERE `id`='2';
Query OK, 1 row affected (0.00 sec)

mysql> DELETE FROM uk_test WHERE `id`='3';
Query OK, 1 row affected (0.01 sec)

mysql> DELETE FROM uk_test WHERE `id`='4';
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (1,'uid2','');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (2,'uid1','');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (3,'uid3','');
Query OK, 1 row affected (0.00 sec)

mysql> INSERT INTO uk_test (id,uid, data) VALUES (4,'uid4','');
Query OK, 1 row affected (0.00 sec)

-- 
HAYASHI Kentaro <hayas****@clear*****>




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