diff options
author | unknown <serg@serg.mylan> | 2004-08-19 18:40:15 +0200 |
---|---|---|
committer | unknown <serg@serg.mylan> | 2004-08-19 18:40:15 +0200 |
commit | 4f8bbaeda02755a7a455b7bee5c5e45081a3e972 (patch) | |
tree | 004edccc6670d662cae84ca72eb44a3bbc305c30 /sql/sql_select.cc | |
parent | 96ac7329082b7de1a1f1ff3f8240a56b2219d405 (diff) | |
download | mariadb-git-4f8bbaeda02755a7a455b7bee5c5e45081a3e972.tar.gz |
Bug #4769 - ft in subqueries
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index c56645e06b9..3a0ae219e81 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -729,6 +729,10 @@ JOIN::optimize() (select_lex->ftfunc_list->elements ? SELECT_NO_JOIN_CACHE : 0)); + /* Perform FULLTEXT search before all regular searches */ + if (!(select_options & SELECT_DESCRIBE)) + init_ftfuncs(thd, select_lex, test(order)); + /* is this simple IN subquery? */ @@ -784,7 +788,7 @@ JOIN::optimize() join_tab->info= "Using index; Using where"; else join_tab->info= "Using index"; - + DBUG_RETURN(unit->item-> change_engine(new subselect_indexsubquery_engine(thd, join_tab, @@ -849,8 +853,6 @@ JOIN::optimize() } having= 0; - /* Perform FULLTEXT search before all regular searches */ - init_ftfuncs(thd, select_lex, test(order)); /* Create a tmp table if distinct or if the sort is too complicated */ if (need_tmp) { @@ -858,7 +860,7 @@ JOIN::optimize() thd->proc_info="Creating tmp table"; init_items_ref_array(); - + tmp_table_param.hidden_field_count= (all_fields.elements - fields_list.elements); if (!(exec_tmp_table1 = |