diff options
-rw-r--r-- | mysql-test/r/ft0000001.e.result | 8 | ||||
-rw-r--r-- | mysql-test/r/ft0000002.a.result | 4 | ||||
-rw-r--r-- | mysql-test/r/ft0000002.b.result | 4 | ||||
-rw-r--r-- | mysql-test/r/ft0000002.c.result | 4 | ||||
-rw-r--r-- | mysql-test/t/ft0000001.test | 10 | ||||
-rw-r--r-- | mysql-test/t/ft0000002.test | 20 | ||||
-rw-r--r-- | sql/filesort.cc | 1 |
7 files changed, 49 insertions, 2 deletions
diff --git a/mysql-test/r/ft0000001.e.result b/mysql-test/r/ft0000001.e.result new file mode 100644 index 00000000000..90d27233ec5 --- /dev/null +++ b/mysql-test/r/ft0000001.e.result @@ -0,0 +1,8 @@ +a rel +1 0 +2 0 +3 0 +5 0 +6 0 +7 0.89568988462614 +4 0.90587321329654 diff --git a/mysql-test/r/ft0000002.a.result b/mysql-test/r/ft0000002.a.result new file mode 100644 index 00000000000..f48a6a4fb5e --- /dev/null +++ b/mysql-test/r/ft0000002.a.result @@ -0,0 +1,4 @@ +a MATCH b AGAINST ('lala lkjh') +1 0.67003110026735 +2 0 +3 0 diff --git a/mysql-test/r/ft0000002.b.result b/mysql-test/r/ft0000002.b.result new file mode 100644 index 00000000000..aeaf0283ba6 --- /dev/null +++ b/mysql-test/r/ft0000002.b.result @@ -0,0 +1,4 @@ +a MATCH c AGAINST ('lala lkjh') +1 0 +2 0.67756324121582 +3 0 diff --git a/mysql-test/r/ft0000002.c.result b/mysql-test/r/ft0000002.c.result new file mode 100644 index 00000000000..2993e25d842 --- /dev/null +++ b/mysql-test/r/ft0000002.c.result @@ -0,0 +1,4 @@ +a MATCH b,c AGAINST ('lala lkjh') +1 0.64840710366884 +2 0.66266459031789 +3 0 diff --git a/mysql-test/t/ft0000001.test b/mysql-test/t/ft0000001.test index 6c11cd06bac..f0959093b8c 100644 --- a/mysql-test/t/ft0000001.test +++ b/mysql-test/t/ft0000001.test @@ -4,10 +4,16 @@ CREATE TABLE test ( a INT AUTO_INCREMENT PRIMARY KEY, message CHAR(20), FULLTEXT(message) -) comment = 'testcase by sroussey@network54.com'; +) comment = 'original testcase by sroussey@network54.com'; INSERT INTO test (message) VALUES ("Testing"),("table"),("testbug"), ("steve"),("is"),("cool"),("steve is cool"); +# basic MATCH @r/ft0000001.a.result SELECT a, MATCH (message) AGAINST ('steve') FROM test WHERE MATCH (message) AGAINST ('steve'); -@r/ft0000001.b.result SELECT a, MATCH (message) AGAINST ('steve') FROM test WHERE MATCH (message) AGAINST ('steve') ORDER BY a; +# MATCH + ORDER BY (w/o ft-ranges) +@r/ft0000001.b.result SELECT a, MATCH (message) AGAINST ('steve') FROM test WHERE MATCH (message) AGAINST ('steve') +0 ORDER BY a; +# MATCH + ORDER BY (w/ ft-ranges) + UNIQUE @r/ft0000001.c.result SELECT a, MATCH (message) AGAINST ('steve') FROM test WHERE a in (2,7,4) and MATCH (message) AGAINST ('steve') ORDER BY a DESC; +# MATCH + ORDER BY + UNIQUE (const_table) @r/ft0000001.d.result SELECT a, MATCH (message) AGAINST ('steve') FROM test WHERE a=7 and MATCH (message) AGAINST ('steve') ORDER BY 1; +# ORDER BY MATCH +@r/ft0000001.e.result SELECT a, MATCH (message) AGAINST ('steve') as rel FROM test ORDER BY rel; diff --git a/mysql-test/t/ft0000002.test b/mysql-test/t/ft0000002.test new file mode 100644 index 00000000000..994aff5da6b --- /dev/null +++ b/mysql-test/t/ft0000002.test @@ -0,0 +1,20 @@ +# several FULLTEXT indexes in one table test +use test; +DROP TABLE IF EXISTS test; +CREATE TABLE test ( + a int(11) NOT NULL auto_increment, + b text, + c varchar(254) default NULL, + PRIMARY KEY (a), + FULLTEXT KEY bb(b), + FULLTEXT KEY cc(c), + FULLTEXT KEY a(b,c) +); + +INSERT INTO test VALUES (1,'lala lolo lili','oooo aaaa pppp'); +INSERT INTO test VALUES (2,'asdf fdsa','lkjh fghj'); +INSERT INTO test VALUES (3,'qpwoei','zmxnvb'); + +@r/ft0000002.a.result SELECT a, MATCH b AGAINST ('lala lkjh') FROM test; +@r/ft0000002.b.result SELECT a, MATCH c AGAINST ('lala lkjh') FROM test; +@r/ft0000002.c.result SELECT a, MATCH b,c AGAINST ('lala lkjh') FROM test; diff --git a/sql/filesort.cc b/sql/filesort.cc index e0808a9e8b7..189a8d3a33a 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -301,6 +301,7 @@ static ha_rows find_all_keys(SORTPARAM *param, SQL_SELECT *select, volatile bool *killed= ¤t_thd->killed; handler *file; DBUG_ENTER("find_all_keys"); + DBUG_PRINT("info",("using: %s",(select?select->quick?"ranges":"where":"every row"))); idx=indexpos=0; error=quick_select=0; |