kentoku
kento****@gmail*****
2012年 10月 5日 (金) 05:08:05 JST
斯波です。 バグのご報告ありがとうございます! 再現を確認、原因の特定が完了し、 次回リリースにて修正される見通しとなりましたので ご連絡させて頂きます。 どうぞ、よろしくお願いいたします。 2012年9月29日 14:23 jd fonc <oreno****@gmail*****>: > 環境 > uname -a > ============== > Darwin ******.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 > 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 > > mysql --version > ============== > mysql Ver 14.14 Distrib 5.5.27, for osx10.7 (i386) using readline 5.1 > > groonga --version > ============== > groonga 2.0.6 [darwin11.4.0,x86_64,utf8,match-escalation-threshold=0,nfkc,mecab,msgpack,zlib,lzo,kqueue] > > configure options: < '--prefix=/usr/local/Cellar/groonga/2.0.6' > '--with-zlib' 'CC=cc' 'CXX=c++' > 'PKG_CONFIG_PATH=/usr/local/lib/pkgconfig'> > > brew info mroonga > ============== > mroonga: stable 2.06 > > > 最近mroongaを使い始めて気になる事があるので連絡します。 > ENGINE=mroonga を使用してストーレージモードでmysqlを使う場合についてですが、下のようなSQL文を実行すると > > ERROR 1062 (23000): Duplicate entry 'test-2000-01-01' for key > 'index_unique_has_problem_table_on_columns' > > のようなエラーが出てしまいます。 > > --------------------- > CREATE TABLE `unique_has_problem_table` ( > `id` int(11) NOT NULL AUTO_INCREMENT, > `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, > `tried_on` date NOT NULL, > PRIMARY KEY (`id`), > UNIQUE KEY `index_unique_has_problem_table_on_columns` (`name`,`tried_on`) > ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > delete from unique_has_problem_table where id = 1; > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > --------------------- > > delete from unique_has_problem_table where id = 1; > をしているので、1回目に入れたデータは消されていると思うのですが、その後同じ内容でインサートするとuniqueインデックスのエラーが出ます。 > > engineのコメントを外して同じように実行すると、やはりuniqueインデックスのエラーは出ません。 > --------------------- > CREATE TABLE `unique_has_problem_table` ( > `id` int(11) NOT NULL AUTO_INCREMENT, > `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, > `tried_on` date NOT NULL, > PRIMARY KEY (`id`), > UNIQUE KEY `index_unique_has_problem_table_on_columns` (`name`,`tried_on`) > ) DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > delete from unique_has_problem_table where id = 1; > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > --------------------- > > > もしくは、ENGINE=mroonga の場合であっても date を varchar に変えると出ないようです。 > --------------------- > CREATE TABLE `unique_has_problem_table` ( > `id` int(11) NOT NULL AUTO_INCREMENT, > `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, > `tried_on` varchar(255) NOT NULL, > PRIMARY KEY (`id`), > UNIQUE KEY `index_unique_has_problem_table_on_columns` (`name`,`tried_on`) > ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > delete from unique_has_problem_table where id = 1; > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > --------------------- > > または、ENGINE=mroonga の場合であっても、dateの場合であってもインデックスが単一カラムであればエラーは出ないようです。 > --------------------- > drop table unique_has_problem_table; > > CREATE TABLE `unique_has_problem_table` ( > `id` int(11) NOT NULL AUTO_INCREMENT, > `name` varchar(255) COLLATE utf8_unicode_ci NOT NULL, > `tried_on` date NOT NULL, > PRIMARY KEY (`id`), > UNIQUE KEY `index_unique_has_problem_table_on_column` (`tried_on`) > ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > delete from unique_has_problem_table where id = 1; > insert into unique_has_problem_table (id, name, tried_on) values (1, > "test", "2000/1/1"); > --------------------- > > 使い方に原因あるのかご一報頂ければうれしいです。 > > _______________________________________________ > groonga-dev mailing list > groon****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/groonga-dev