mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
BUG#6635 - test_if_skip_sort_order() thought it can skip filesort
for fulltext searches too
This commit is contained in:
@ -62,6 +62,14 @@ a rel
|
|||||||
6 0
|
6 0
|
||||||
4 1
|
4 1
|
||||||
7 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;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
a INT AUTO_INCREMENT PRIMARY KEY,
|
a INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
@ -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, 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;
|
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;
|
drop table t1;
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -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= tab->ref.key;
|
||||||
ref_key_parts= tab->ref.key_parts;
|
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);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
else if (select && select->quick) // Range found by opt_range
|
else if (select && select->quick) // Range found by opt_range
|
||||||
|
Reference in New Issue
Block a user