1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-13 13:47:59 +03:00

BUG#6635 - test_if_skip_sort_order() thought it can skip filesort

for fulltext searches too
This commit is contained in:
serg@serg.mylan
2005-03-08 19:45:55 +01:00
parent c36fa576c6
commit 9272081ebb
3 changed files with 17 additions and 1 deletions

View File

@@ -62,6 +62,14 @@ a rel
6 0
4 1
7 1
alter table t1 add key m (message);
explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 fulltext message message 0 1 Using where; Using filesort
SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
message
steve is cool
steve
drop table t1;
CREATE TABLE t1 (
a INT AUTO_INCREMENT PRIMARY KEY,

View File

@@ -31,6 +31,14 @@ SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) FROM t1 WHERE a=7 an
SELECT a, FORMAT(MATCH (message) AGAINST ('steve'),6) as rel FROM t1 ORDER BY rel;
SELECT a, MATCH (message) AGAINST ('steve' IN BOOLEAN MODE) as rel FROM t1 ORDER BY rel;
#
# BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
# for fulltext searches too
#
alter table t1 add key m (message);
explain SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message;
SELECT message FROM t1 WHERE MATCH (message) AGAINST ('steve') ORDER BY message desc;
drop table t1;
#

View File

@@ -7142,7 +7142,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
{
ref_key= tab->ref.key;
ref_key_parts= tab->ref.key_parts;
if (tab->type == JT_REF_OR_NULL)
if (tab->type == JT_REF_OR_NULL || tab->type == JT_FT)
DBUG_RETURN(0);
}
else if (select && select->quick) // Range found by opt_range