[Groonga-mysql-commit] mroonga/mroonga [master] [wrapper] add tests for MyISAM. fixes #1033

Back to archive index

null+****@clear***** null+****@clear*****
2011年 7月 13日 (水) 16:23:27 JST


Kouhei Sutou	2011-07-13 07:23:27 +0000 (Wed, 13 Jul 2011)

  New Revision: c8e1db05fc066f60b0d99a4c07bc3b5a94beaffa

  Log:
    [wrapper] add tests for MyISAM. fixes #1033

  Added files:
    test/sql/groonga_wrapper/r/fulltext_myisam.result
    test/sql/groonga_wrapper/t/fulltext_myisam.test
  Modified files:
    test/sql/groonga_wrapper/r/Makefile.am
    test/sql/groonga_wrapper/t/Makefile.am

  Modified: test/sql/groonga_wrapper/r/Makefile.am (+1 -0)
===================================================================
--- test/sql/groonga_wrapper/r/Makefile.am    2011-07-13 07:01:21 +0000 (d0a9875)
+++ test/sql/groonga_wrapper/r/Makefile.am    2011-07-13 07:23:27 +0000 (d96cc0d)
@@ -5,6 +5,7 @@ EXTRA_DIST = \
 	fulltext.result \
 	fulltext_many_records.result \
 	fulltext_multiple_column_index.result \
+	fulltext_myisam.result \
 	insert.result \
 	update.result \
 	$(NULL)

  Added: test/sql/groonga_wrapper/r/fulltext_myisam.result (+202 -0) 100644
===================================================================
--- /dev/null
+++ test/sql/groonga_wrapper/r/fulltext_myisam.result    2011-07-13 07:23:27 +0000 (df31937)
@@ -0,0 +1,202 @@
+drop table if exists t1, t2, t3;
+create table t1 (c1 int primary key, c2 text, fulltext index ft (c2)) COMMENT = 'engine "myisam"';
+show create table t1;
+Table	Create Table
+t1	CREATE TABLE `t1` (
+  `c1` int(11) NOT NULL,
+  `c2` text,
+  PRIMARY KEY (`c1`),
+  FULLTEXT KEY `ft` (`c2`)
+) ENGINE=groonga DEFAULT CHARSET=latin1 COMMENT='engine "myisam"'
+insert into t1 values (1, "hoge hoge");
+insert into t1 values (2, "fuga fuga");
+insert into t1 values (3, "moge moge");
+select * from t1;
+c1	c2
+1	hoge hoge
+2	fuga fuga
+3	moge moge
+flush tables;
+select * from t1;
+c1	c2
+1	hoge hoge
+2	fuga fuga
+3	moge moge
+drop table t1;
+create table t1 (c1 int primary key, c2 int, c3 text, fulltext index ft(c3)) COMMENT = 'engine "myisam"';
+insert into t1 values(1,10,"aa ii uu ee oo");
+insert into t1 values(2,20,"ka ki ku ke ko");
+insert into t1 values(3,30,"sa si su se so");
+insert into t1 values(4,40,"ta ti tu te to");
+insert into t1 values(5,50,"aa ii uu ee oo");
+select * from t1;
+c1	c2	c3
+1	10	aa ii uu ee oo
+2	20	ka ki ku ke ko
+3	30	sa si su se so
+4	40	ta ti tu te to
+5	50	aa ii uu ee oo
+select * from t1 where match(c3) against("su");
+c1	c2	c3
+3	30	sa si su se so
+select * from t1 where match(c3) against("ii");
+c1	c2	c3
+1	10	aa ii uu ee oo
+5	50	aa ii uu ee oo
+select * from t1 where match(c3) against("+su" in boolean mode);
+c1	c2	c3
+3	30	sa si su se so
+select * from t1 where match(c3) against("+ii" in boolean mode);
+c1	c2	c3
+1	10	aa ii uu ee oo
+5	50	aa ii uu ee oo
+drop table t1;
+set names utf8;
+create table t1 (c1 int primary key, c2 varchar(255), c3 text, fulltext index(c2), fulltext index(c3)) default charset utf8 COMMENT = 'engine "myisam"';
+insert into t1 values(1, "明日の富士山の天気について","あああああああ");
+insert into t1 values(2, "いいいいい","明日の富士山の天気は分かりません");
+insert into t1 values(3, "dummy", "dummy");
+select * from t1;
+c1	c2	c3
+1	明日の富士山の天気について	あああああああ
+2	いいいいい	明日の富士山の天気は分かりません
+3	dummy	dummy
+select * from t1 where match(c2) against("富士山");
+c1	c2	c3
+1	明日の富士山の天気について	あああああああ
+select * from t1 where match(c3) against("富士山");
+c1	c2	c3
+2	いいいいい	明日の富士山の天気は分かりません
+drop table t1;
+create table t1 (c1 int primary key, c2 varchar(100), fulltext index(c2)) default charset utf8 COMMENT = 'engine "myisam"';
+create table t2 (c1 int primary key, c2 text, fulltext index(c2)) default charset utf8 COMMENT = 'engine "myisam"';
+insert into t1 values (1, "aa ii uu ee oo");
+insert into t1 values (2, "ka ki ku ke ko");
+insert into t1 values (3, "aa ii ii ii oo");
+insert into t1 values (4, "sa si su se so");
+insert into t1 values (5, "ta ti ii ii to");
+insert into t2 (c1,c2) select c1,c2 from t1;
+select * from t1;
+c1	c2
+1	aa ii uu ee oo
+2	ka ki ku ke ko
+3	aa ii ii ii oo
+4	sa si su se so
+5	ta ti ii ii to
+select * from t2;
+c1	c2
+1	aa ii uu ee oo
+2	ka ki ku ke ko
+3	aa ii ii ii oo
+4	sa si su se so
+5	ta ti ii ii to
+select * from t1 where c1=3;
+c1	c2
+3	aa ii ii ii oo
+select * from t2 where c1=3;
+c1	c2
+3	aa ii ii ii oo
+select * from t1 where c1>3 order by c1 desc;
+c1	c2
+5	ta ti ii ii to
+4	sa si su se so
+select * from t2 where c1>3 order by c1 asc;
+c1	c2
+4	sa si su se so
+5	ta ti ii ii to
+select * from t1 where c2>"s" order by c2 desc;
+c1	c2
+5	ta ti ii ii to
+4	sa si su se so
+select * from t2 where c2>"s" order by c1 asc;
+c1	c2
+4	sa si su se so
+5	ta ti ii ii to
+select *,match(c2) against("ii") from t1 where match(c2) against("ii") order by match(c2) against("ii") desc;
+c1	c2	match(c2) against("ii")
+3	aa ii ii ii oo	3
+5	ta ti ii ii to	2
+1	aa ii uu ee oo	1
+select *,match(c2) against("ii") from t2 where match(c2) against("ii") order by match(c2) against("ii") asc;
+c1	c2	match(c2) against("ii")
+1	aa ii uu ee oo	1
+5	ta ti ii ii to	2
+3	aa ii ii ii oo	3
+select c1,c2,match(c2) against("ii") from t1 where match(c2) against("ii");
+c1	c2	match(c2) against("ii")
+1	aa ii uu ee oo	1
+3	aa ii ii ii oo	3
+5	ta ti ii ii to	2
+select c1,c2,match(c2) against("ii") from t1 where match(c2) against("ii");
+c1	c2	match(c2) against("ii")
+1	aa ii uu ee oo	1
+3	aa ii ii ii oo	3
+5	ta ti ii ii to	2
+drop table t1,t2;
+create table t1 (c1 int primary key, c2 int, c3 text, fulltext index ft(c3)) COMMENT = 'engine "myisam"';
+insert into t1 values(1,10,"aa ii uu ee oo");
+insert into t1 values(2,10,"ka ki ku ke ko");
+insert into t1 values(3,10,"aa ii uu ee oo");
+insert into t1 values(4,10,"ka ki ku ke ko");
+insert into t1 values(5,20,"aa ii uu ee oo");
+insert into t1 values(6,20,"ka ki ku ke ko");
+insert into t1 values(7,20,"aa ii uu ee oo");
+insert into t1 values(8,20,"ka ki ku ke ko");
+select * from t1;
+c1	c2	c3
+1	10	aa ii uu ee oo
+2	10	ka ki ku ke ko
+3	10	aa ii uu ee oo
+4	10	ka ki ku ke ko
+5	20	aa ii uu ee oo
+6	20	ka ki ku ke ko
+7	20	aa ii uu ee oo
+8	20	ka ki ku ke ko
+select *,match(c3) against("uu") from t1 where match(c3) against("uu");
+c1	c2	c3	match(c3) against("uu")
+1	10	aa ii uu ee oo	1
+3	10	aa ii uu ee oo	1
+5	20	aa ii uu ee oo	1
+7	20	aa ii uu ee oo	1
+select * from t1 where not match(c3) against("uu");
+c1	c2	c3
+2	10	ka ki ku ke ko
+4	10	ka ki ku ke ko
+6	20	ka ki ku ke ko
+8	20	ka ki ku ke ko
+select *,match(c3) against("dummy") from t1 where match(c3) against("dummy");
+c1	c2	c3	match(c3) against("dummy")
+select * from t1 where not match(c3) against("dummy");
+c1	c2	c3
+1	10	aa ii uu ee oo
+2	10	ka ki ku ke ko
+3	10	aa ii uu ee oo
+4	10	ka ki ku ke ko
+5	20	aa ii uu ee oo
+6	20	ka ki ku ke ko
+7	20	aa ii uu ee oo
+8	20	ka ki ku ke ko
+select * from t1 where c1 = 4 and not match(c3) against("uu");
+c1	c2	c3
+4	10	ka ki ku ke ko
+select * from t1 where c1 <= 4 and not match(c3) against("uu");
+c1	c2	c3
+2	10	ka ki ku ke ko
+4	10	ka ki ku ke ko
+select * from t1 where c1 > 4 and not match(c3) against("uu");
+c1	c2	c3
+6	20	ka ki ku ke ko
+8	20	ka ki ku ke ko
+select * from t1 where c2 = 10 and not match(c3) against("uu");
+c1	c2	c3
+2	10	ka ki ku ke ko
+4	10	ka ki ku ke ko
+select * from t1 where c2 >= 15 and not match(c3) against("uu");
+c1	c2	c3
+6	20	ka ki ku ke ko
+8	20	ka ki ku ke ko
+select * from t1 where c2 < 15 and not match(c3) against("uu");
+c1	c2	c3
+2	10	ka ki ku ke ko
+4	10	ka ki ku ke ko
+drop table t1;

  Modified: test/sql/groonga_wrapper/t/Makefile.am (+1 -0)
===================================================================
--- test/sql/groonga_wrapper/t/Makefile.am    2011-07-13 07:01:21 +0000 (15b39ad)
+++ test/sql/groonga_wrapper/t/Makefile.am    2011-07-13 07:23:27 +0000 (1b19b51)
@@ -5,6 +5,7 @@ EXTRA_DIST = \
 	fulltext.test \
 	fulltext_many_records.test \
 	fulltext_multiple_column_index.test \
+	fulltext_myisam.test \
 	insert.test \
 	update.test \
 	$(NULL)

  Added: test/sql/groonga_wrapper/t/fulltext_myisam.test (+102 -0) 100644
===================================================================
--- /dev/null
+++ test/sql/groonga_wrapper/t/fulltext_myisam.test    2011-07-13 07:23:27 +0000 (f195881)
@@ -0,0 +1,102 @@
+# Copyright(C) 2010 Tetsuro IKEDA
+# Copyright(C) 2011 Kouhei Sutou <kou****@clear*****>
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+--source suite/groonga_include/groonga_init.inc
+
+--disable_warnings
+drop table if exists t1, t2, t3;
+--enable_warnings
+
+create table t1 (c1 int primary key, c2 text, fulltext index ft (c2)) COMMENT = 'engine "myisam"';
+show create table t1;
+insert into t1 values (1, "hoge hoge");
+insert into t1 values (2, "fuga fuga");
+insert into t1 values (3, "moge moge");
+select * from t1;
+flush tables;
+select * from t1;
+drop table t1;
+
+create table t1 (c1 int primary key, c2 int, c3 text, fulltext index ft(c3)) COMMENT = 'engine "myisam"';
+insert into t1 values(1,10,"aa ii uu ee oo");
+insert into t1 values(2,20,"ka ki ku ke ko");
+insert into t1 values(3,30,"sa si su se so");
+insert into t1 values(4,40,"ta ti tu te to");
+insert into t1 values(5,50,"aa ii uu ee oo");
+select * from t1;
+select * from t1 where match(c3) against("su");
+select * from t1 where match(c3) against("ii");
+select * from t1 where match(c3) against("+su" in boolean mode);
+select * from t1 where match(c3) against("+ii" in boolean mode);
+drop table t1;
+
+set names utf8;
+create table t1 (c1 int primary key, c2 varchar(255), c3 text, fulltext index(c2), fulltext index(c3)) default charset utf8 COMMENT = 'engine "myisam"';
+insert into t1 values(1, "明日の富士山の天気について","あああああああ");
+insert into t1 values(2, "いいいいい","明日の富士山の天気は分かりません");
+insert into t1 values(3, "dummy", "dummy");
+select * from t1;
+select * from t1 where match(c2) against("富士山");
+select * from t1 where match(c3) against("富士山");
+drop table t1;
+
+create table t1 (c1 int primary key, c2 varchar(100), fulltext index(c2)) default charset utf8 COMMENT = 'engine "myisam"';
+create table t2 (c1 int primary key, c2 text, fulltext index(c2)) default charset utf8 COMMENT = 'engine "myisam"';
+insert into t1 values (1, "aa ii uu ee oo");
+insert into t1 values (2, "ka ki ku ke ko");
+insert into t1 values (3, "aa ii ii ii oo");
+insert into t1 values (4, "sa si su se so");
+insert into t1 values (5, "ta ti ii ii to");
+insert into t2 (c1,c2) select c1,c2 from t1;
+select * from t1;
+select * from t2;
+select * from t1 where c1=3;
+select * from t2 where c1=3;
+select * from t1 where c1>3 order by c1 desc;
+select * from t2 where c1>3 order by c1 asc;
+select * from t1 where c2>"s" order by c2 desc;
+select * from t2 where c2>"s" order by c1 asc;
+select *,match(c2) against("ii") from t1 where match(c2) against("ii") order by match(c2) against("ii") desc;
+select *,match(c2) against("ii") from t2 where match(c2) against("ii") order by match(c2) against("ii") asc;
+select c1,c2,match(c2) against("ii") from t1 where match(c2) against("ii");
+select c1,c2,match(c2) against("ii") from t1 where match(c2) against("ii");
+drop table t1,t2;
+
+# for "not match against"
+create table t1 (c1 int primary key, c2 int, c3 text, fulltext index ft(c3)) COMMENT = 'engine "myisam"';
+insert into t1 values(1,10,"aa ii uu ee oo");
+insert into t1 values(2,10,"ka ki ku ke ko");
+insert into t1 values(3,10,"aa ii uu ee oo");
+insert into t1 values(4,10,"ka ki ku ke ko");
+insert into t1 values(5,20,"aa ii uu ee oo");
+insert into t1 values(6,20,"ka ki ku ke ko");
+insert into t1 values(7,20,"aa ii uu ee oo");
+insert into t1 values(8,20,"ka ki ku ke ko");
+select * from t1;
+select *,match(c3) against("uu") from t1 where match(c3) against("uu");
+select * from t1 where not match(c3) against("uu");
+select *,match(c3) against("dummy") from t1 where match(c3) against("dummy");
+select * from t1 where not match(c3) against("dummy");
+select * from t1 where c1 = 4 and not match(c3) against("uu");
+select * from t1 where c1 <= 4 and not match(c3) against("uu");
+select * from t1 where c1 > 4 and not match(c3) against("uu");
+select * from t1 where c2 = 10 and not match(c3) against("uu");
+select * from t1 where c2 >= 15 and not match(c3) against("uu");
+select * from t1 where c2 < 15 and not match(c3) against("uu");
+drop table t1;
+
+--source suite/groonga_include/groonga_deinit.inc




Groonga-mysql-commit メーリングリストの案内
Back to archive index