[Groonga-mysql-commit] mroonga/mroonga [master] [storage][test] add tests for adding fulltext search index.

Zurück zum Archiv-Index

null+****@clear***** null+****@clear*****
2011年 11月 26日 (土) 17:17:07 JST


Kouhei Sutou	2011-11-26 08:17:07 +0000 (Sat, 26 Nov 2011)

  New Revision: 10eccfabc1454812bd5c7a675ebb75b8a15a77b1

  Log:
    [storage][test] add tests for adding fulltext search index.

  Added files:
    test/sql/suite/groonga_storage/r/alter_table_fulltext.result
    test/sql/suite/groonga_storage/t/alter_table_fulltext.test

  Added: test/sql/suite/groonga_storage/r/alter_table_fulltext.result (+52 -0) 100644
===================================================================
--- /dev/null
+++ test/sql/suite/groonga_storage/r/alter_table_fulltext.result    2011-11-26 08:17:07 +0000 (5562f84)
@@ -0,0 +1,52 @@
+DROP TABLE IF EXISTS diaries;
+CREATE TABLE diaries (
+id INT PRIMARY KEY AUTO_INCREMENT,
+title TEXT,
+FULLTEXT INDEX title_index (title)
+) DEFAULT CHARSET UTF8;
+SHOW CREATE TABLE diaries;
+Table	Create Table
+diaries	CREATE TABLE `diaries` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `title` text,
+  PRIMARY KEY (`id`),
+  FULLTEXT KEY `title_index` (`title`)
+) ENGINE=groonga DEFAULT CHARSET=utf8
+INSERT INTO diaries (title) VALUES ("survey");
+SELECT * FROM diaries;
+id	title
+1	survey
+ALTER TABLE diaries ADD COLUMN body TEXT;
+UPDATE diaries SET body = "will start groonga!";
+SELECT * FROM diaries;
+id	title	body
+1	survey	will start groonga!
+INSERT INTO diaries (title, body) values ("groonga (1)", "starting groonga...");
+INSERT INTO diaries (title, body) values ("groonga (2)", "started groonga.");
+SELECT * FROM diaries;
+id	title	body
+1	survey	will start groonga!
+2	groonga (1)	starting groonga...
+3	groonga (2)	started groonga.
+ALTER TABLE diaries ADD FULLTEXT INDEX body_index (body);
+SELECT * FROM diaries
+WHERE MATCH(title) AGAINST("survey") AND
+MATCH(body) AGAINST("groonga");
+id	title	body
+1	survey	will start groonga!
+SELECT * FROM diaries
+WHERE MATCH(title) AGAINST("groonga") AND
+MATCH(body) AGAINST("starting");
+id	title	body
+2	groonga (1)	starting groonga...
+SHOW CREATE TABLE diaries;
+Table	Create Table
+diaries	CREATE TABLE `diaries` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `title` text,
+  `body` text,
+  PRIMARY KEY (`id`),
+  FULLTEXT KEY `title_index` (`title`),
+  FULLTEXT KEY `body_index` (`body`)
+) ENGINE=groonga DEFAULT CHARSET=utf8
+DROP TABLE diaries;

  Added: test/sql/suite/groonga_storage/t/alter_table_fulltext.test (+55 -0) 100644
===================================================================
--- /dev/null
+++ test/sql/suite/groonga_storage/t/alter_table_fulltext.test    2011-11-26 08:17:07 +0000 (975a925)
@@ -0,0 +1,55 @@
+# 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 include/have_groonga.inc
+
+--disable_warnings
+DROP TABLE IF EXISTS diaries;
+--enable_warnings
+
+CREATE TABLE diaries (
+  id INT PRIMARY KEY AUTO_INCREMENT,
+  title TEXT,
+  FULLTEXT INDEX title_index (title)
+) DEFAULT CHARSET UTF8;
+SHOW CREATE TABLE diaries;
+
+INSERT INTO diaries (title) VALUES ("survey");
+SELECT * FROM diaries;
+
+ALTER TABLE diaries ADD COLUMN body TEXT;
+UPDATE diaries SET body = "will start groonga!";
+SELECT * FROM diaries;
+
+INSERT INTO diaries (title, body) values ("groonga (1)", "starting groonga...");
+INSERT INTO diaries (title, body) values ("groonga (2)", "started groonga.");
+SELECT * FROM diaries;
+
+ALTER TABLE diaries ADD FULLTEXT INDEX body_index (body);
+
+SELECT * FROM diaries
+  WHERE MATCH(title) AGAINST("survey") AND
+        MATCH(body) AGAINST("groonga");
+
+SELECT * FROM diaries
+  WHERE MATCH(title) AGAINST("groonga") AND
+        MATCH(body) AGAINST("starting");
+
+SHOW CREATE TABLE diaries;
+
+DROP TABLE diaries;
+
+--source include/have_groonga_deinit.inc




Groonga-mysql-commit メーリングリストの案内
Zurück zum Archiv-Index