Fixed a rare bug when fulltext index is present and no tables are used.

A better fix would be to have a map of tables that are not used at all, 
and to annul just fledls in that TABLE.
parent acb1710d
...@@ -49457,6 +49457,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}. ...@@ -49457,6 +49457,8 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet @itemize @bullet
@item @item
Fixed a rare bug when fulltext index is present and no tables are used
@item
Added privileges @strong{create temporary table}, @strong{lock tables}, Added privileges @strong{create temporary table}, @strong{lock tables},
@strong{replication client}, @strong{replication slave}, @strong{replication client}, @strong{replication slave},
@strong{show databases} and @strong{super}. To use these, you must have @strong{show databases} and @strong{super}. To use these, you must have
...@@ -192,3 +192,12 @@ a b ...@@ -192,3 +192,12 @@ a b
2 fullaaa fullzzz 2 fullaaa fullzzz
1 I wonder why the fulltext index doesnt work? 1 I wonder why the fulltext index doesnt work?
drop table t1; drop table t1;
CREATE TABLE t1 ( id int(11) NOT NULL auto_increment primary key, mytext text NOT NULL, FULLTEXT KEY mytext (mytext)) TYPE=MyISAM;
INSERT INTO t1 VALUES (1,'my small mouse'),(2,'la-la-la'),(3,'It is so funny'),(4,'MySQL Tutorial');
select 8 from t1;
8
8
8
8
8
drop table t1;
...@@ -154,4 +154,8 @@ insert into t1 values (2,"fullaaa fullzzz"); ...@@ -154,4 +154,8 @@ insert into t1 values (2,"fullaaa fullzzz");
select * from t1 where match b against ('full*' in boolean mode); select * from t1 where match b against ('full*' in boolean mode);
drop table t1; drop table t1;
CREATE TABLE t1 ( id int(11) NOT NULL auto_increment primary key, mytext text NOT NULL, FULLTEXT KEY mytext (mytext)) TYPE=MyISAM;
INSERT INTO t1 VALUES (1,'my small mouse'),(2,'la-la-la'),(3,'It is so funny'),(4,'MySQL Tutorial');
select 8 from t1;
drop table t1;
...@@ -257,7 +257,14 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds, ...@@ -257,7 +257,14 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
} }
TABLE_LIST *table; TABLE_LIST *table;
for (table=tables ; table ; table=table->next) for (table=tables ; table ; table=table->next)
{
join.tables++; join.tables++;
if (!thd->used_tables)
{
TABLE *tbl=table->table;
tbl->keys_in_use_for_query=tbl->used_keys= tbl->keys_in_use=0;
}
}
} }
procedure=setup_procedure(thd,proc_param,result,fields,&error); procedure=setup_procedure(thd,proc_param,result,fields,&error);
if (error) if (error)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment