null+****@clear*****
null+****@clear*****
2012年 2月 2日 (木) 13:49:54 JST
Kouhei Sutou 2012-02-02 13:49:54 +0900 (Thu, 02 Feb 2012) New Revision: 7b3a1db184b1581e63d18ac399f5f22b7e7bd547 Log: [storage][test] add fast order limit with fulltext search and normal condtion. It's not worked yet. :p Added files: test/sql/suite/mroonga_storage/r/fulltext_order_limit_equal.result test/sql/suite/mroonga_storage/t/fulltext_order_limit_equal.test Added: test/sql/suite/mroonga_storage/r/fulltext_order_limit_equal.result (+42 -0) 100644 =================================================================== --- /dev/null +++ test/sql/suite/mroonga_storage/r/fulltext_order_limit_equal.result 2012-02-02 13:49:54 +0900 (23cc398) @@ -0,0 +1,42 @@ +DROP TABLE IF EXISTS diaries; +SET NAMES UTF8; +CREATE TABLE diaries ( +id INT UNSIGNED NOT NULL, +year INT UNSIGNED, +month INT UNSIGNED, +day INT UNSIGNED, +title VARCHAR(255), +content TEXT, +FULLTEXT INDEX(content), +KEY(month), +KEY(day) +) DEFAULT CHARSET UTF8 COLLATE UTF8_BIN; +SHOW CREATE TABLE diaries; +Table Create Table +diaries CREATE TABLE `diaries` ( + `id` int(10) unsigned NOT NULL, + `year` int(10) unsigned DEFAULT NULL, + `month` int(10) unsigned DEFAULT NULL, + `day` int(10) unsigned DEFAULT NULL, + `title` varchar(255) COLLATE utf8_bin DEFAULT NULL, + `content` text COLLATE utf8_bin, + KEY `month` (`month`), + KEY `day` (`day`), + FULLTEXT KEY `content` (`content`) +) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_bin +INSERT INTO diaries VALUES(1, 2011, 11, 9, "Hello", "今日からはじめました。"); +INSERT INTO diaries VALUES(2, 2011, 11, 10, "天気", "明日の富士山の天気について"); +INSERT INTO diaries VALUES(3, 2011, 11, 11, "富士山", "今日も天気がよくてきれいに見える。"); +INSERT INTO diaries VALUES(4, 2011, 11, 11, "帰り道", "今日は天気がよくてよかった。"); +INSERT INTO diaries VALUES(5, 2011, 12, 1, "久しぶり", "天気が悪いからずっと留守番。"); +INSERT INTO diaries VALUES(6, 2011, 12, 2, "初雪", "今日の天気は雪!"); +SELECT * FROM diaries +WHERE MATCH(content) AGAINST("今日 天気" IN BOOLEAN MODE) AND +month = 12 +ORDER BY day LIMIT 1,1; +id year month day title content +6 2011 12 2 初雪 今日の天気は雪! +SHOW STATUS LIKE 'mroonga_fast_order_limit'; +Variable_name Value +mroonga_fast_order_limit 1 +DROP TABLE diaries; Added: test/sql/suite/mroonga_storage/t/fulltext_order_limit_equal.test (+53 -0) 100644 =================================================================== --- /dev/null +++ test/sql/suite/mroonga_storage/t/fulltext_order_limit_equal.test 2012-02-02 13:49:54 +0900 (3c538ad) @@ -0,0 +1,53 @@ +# Copyright(C) 2012 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_mroonga.inc + +--disable_warnings +DROP TABLE IF EXISTS diaries; +--enable_warnings + +SET NAMES UTF8; +CREATE TABLE diaries ( + id INT UNSIGNED NOT NULL, + year INT UNSIGNED, + month INT UNSIGNED, + day INT UNSIGNED, + title VARCHAR(255), + content TEXT, + FULLTEXT INDEX(content), + KEY(month), + KEY(day) +) DEFAULT CHARSET UTF8 COLLATE UTF8_BIN; +SHOW CREATE TABLE diaries; + +INSERT INTO diaries VALUES(1, 2011, 11, 9, "Hello", "今日からはじめました。"); +INSERT INTO diaries VALUES(2, 2011, 11, 10, "天気", "明日の富士山の天気について"); +INSERT INTO diaries VALUES(3, 2011, 11, 11, "富士山", "今日も天気がよくてきれいに見える。"); +INSERT INTO diaries VALUES(4, 2011, 11, 11, "帰り道", "今日は天気がよくてよかった。"); +INSERT INTO diaries VALUES(5, 2011, 12, 1, "久しぶり", "天気が悪いからずっと留守番。"); +INSERT INTO diaries VALUES(6, 2011, 12, 2, "初雪", "今日の天気は雪!"); + +SELECT * FROM diaries + WHERE MATCH(content) AGAINST("今日 天気" IN BOOLEAN MODE) AND + month = 12 + ORDER BY day LIMIT 1,1; + +SHOW STATUS LIKE 'mroonga_fast_order_limit'; + +DROP TABLE diaries; + +--source include/have_mroonga_deinit.inc