Loading sql/item_func.cc +1 −0 Original line number Diff line number Diff line Loading @@ -2056,6 +2056,7 @@ bool Item_func_match::fix_fields(THD *thd,struct st_table_list *tlist) } const_item_cache=0; table=((Item_field *)fields.head())->field->table; table->fulltext_searched=1; return 0; } Loading sql/item_func.h +1 −0 Original line number Diff line number Diff line Loading @@ -880,6 +880,7 @@ class Item_func_match :public Item_real_func ft_close_search(ft_handler); if(join_key) table->file->ft_handler=0; table->fulltext_searched=0; } } } Loading sql/sql_select.cc +4 −2 Original line number Diff line number Diff line Loading @@ -885,7 +885,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) { s->type=JT_SYSTEM; const_table_map|=table->map; Loading Loading @@ -983,7 +984,8 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds, } while (keyuse->table == table && keyuse->key == key); if (eq_part == PREV_BITS(uint,table->key_info[key].key_parts) && (table->key_info[key].flags & HA_NOSAME)) (table->key_info[key].flags & HA_NOSAME) && !table->fulltext_searched) { if (const_ref == eq_part) { // Found everything for ref. Loading sql/table.h +1 −0 Original line number Diff line number Diff line Loading @@ -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; Field *next_number_field, /* Set if next_number is activated */ Loading Loading
sql/item_func.cc +1 −0 Original line number Diff line number Diff line Loading @@ -2056,6 +2056,7 @@ bool Item_func_match::fix_fields(THD *thd,struct st_table_list *tlist) } const_item_cache=0; table=((Item_field *)fields.head())->field->table; table->fulltext_searched=1; return 0; } Loading
sql/item_func.h +1 −0 Original line number Diff line number Diff line Loading @@ -880,6 +880,7 @@ class Item_func_match :public Item_real_func ft_close_search(ft_handler); if(join_key) table->file->ft_handler=0; table->fulltext_searched=0; } } } Loading
sql/sql_select.cc +4 −2 Original line number Diff line number Diff line Loading @@ -885,7 +885,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) { s->type=JT_SYSTEM; const_table_map|=table->map; Loading Loading @@ -983,7 +984,8 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds, } while (keyuse->table == table && keyuse->key == key); if (eq_part == PREV_BITS(uint,table->key_info[key].key_parts) && (table->key_info[key].flags & HA_NOSAME)) (table->key_info[key].flags & HA_NOSAME) && !table->fulltext_searched) { if (const_ref == eq_part) { // Found everything for ref. Loading
sql/table.h +1 −0 Original line number Diff line number Diff line Loading @@ -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; Field *next_number_field, /* Set if next_number is activated */ Loading