mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
fulltext+const_table bug fixed
mysql-test/r/fulltext.result: test added mysql-test/t/fulltext.test: test added sql/item_func.cc: fulltext+const_table problem fixed once and forever sql/item_func.h: fulltext+const_table problem fixed once and forever sql/sql_select.cc: fulltext+const_table problem fixed once and forever sql/table.h: fulltext+const_table problem fixed once and forever
This commit is contained in:
parent
6fdd6e8e46
commit
43a1ef6ce2
6 changed files with 21 additions and 1 deletions
|
@ -150,3 +150,9 @@ select * from t1;
|
|||
id title
|
||||
1 this test once revealed a bug
|
||||
update t1 set title=NULL where id=1;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int(11), b text, FULLTEXT KEY (b)) TYPE=MyISAM;
|
||||
insert into t1 values (1,"I wonder why the fulltext index doesnt work?");
|
||||
SELECT * from t1 where MATCH (b) AGAINST ('apples');
|
||||
a b
|
||||
drop table t1;
|
||||
|
|
|
@ -129,3 +129,13 @@ check table t1;
|
|||
update t1 set title='this test once revealed a bug' where id=1;
|
||||
select * from t1;
|
||||
update t1 set title=NULL where id=1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
# one more bug - const_table related
|
||||
|
||||
CREATE TABLE t1 (a int(11), b text, FULLTEXT KEY (b)) TYPE=MyISAM;
|
||||
insert into t1 values (1,"I wonder why the fulltext index doesnt work?");
|
||||
SELECT * from t1 where MATCH (b) AGAINST ('apples');
|
||||
|
||||
drop table t1;
|
||||
|
|
|
@ -2108,6 +2108,7 @@ bool Item_func_match::fix_fields(THD *thd,struct st_table_list *tlist)
|
|||
key=NO_SUCH_KEY;
|
||||
const_item_cache=0;
|
||||
table=((Item_field *)fields.head())->field->table;
|
||||
table->fulltext_searched=1;
|
||||
record=table->record[0];
|
||||
if (key == NO_SUCH_KEY && mode != FT_BOOL)
|
||||
{
|
||||
|
|
|
@ -930,6 +930,7 @@ public:
|
|||
ft_handler=0;
|
||||
if(join_key)
|
||||
table->file->ft_handler=0;
|
||||
table->fulltext_searched=0;
|
||||
}
|
||||
if (concat) delete concat;
|
||||
}
|
||||
|
|
|
@ -982,7 +982,8 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
|
|||
s->dependent=(table_map) 0;
|
||||
s->key_dependent=(table_map) 0;
|
||||
if ((table->system || table->file->records <= 1) && ! s->dependent &&
|
||||
!(table->file->option_flag() & HA_NOT_EXACT_COUNT))
|
||||
!(table->file->option_flag() & HA_NOT_EXACT_COUNT) &&
|
||||
!table->fulltext_searched)
|
||||
{
|
||||
set_position(join,const_count++,s,(KEYUSE*) 0);
|
||||
}
|
||||
|
|
|
@ -95,6 +95,7 @@ struct st_table {
|
|||
my_bool db_low_byte_first; /* Portable row format */
|
||||
my_bool locked_by_flush;
|
||||
my_bool locked_by_name;
|
||||
my_bool fulltext_searched;
|
||||
my_bool crashed;
|
||||
my_bool is_view;
|
||||
my_bool no_keyread;
|
||||
|
|
Loading…
Reference in a new issue