diff options
author | serg@infomag.ape.relarn.ru <> | 2000-08-17 19:30:36 +0400 |
---|---|---|
committer | serg@infomag.ape.relarn.ru <> | 2000-08-17 19:30:36 +0400 |
commit | 2006b4c551ad3933631360f826ec700cf658e0fb (patch) | |
tree | 6619554e62beb76cf3c8b15d68b4a3b36f96223a /sql/sql_select.cc | |
parent | 8b86536844afadecf07a1e070cac29c22bc02de1 (diff) | |
download | mariadb-git-2006b4c551ad3933631360f826ec700cf658e0fb.tar.gz |
Many MATCH'es per query now allowed (i.e. AND's and OR's now work, but
slow - full table scan); ORDER BY now works with MATCH (slow, full table
scan)
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 749bbb5b1f5..fb5125ac79f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -476,6 +476,7 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds, as in other cases the join is done before the sort. */ if ((order || group) && join.join_tab[join.const_tables].type != JT_ALL && + join.join_tab[join.const_tables].type != JT_FT && /* Beware! SerG */ (order && simple_order || group && simple_group)) { if (add_ref_to_table_cond(thd,&join.join_tab[join.const_tables])) @@ -4281,7 +4282,7 @@ join_ft_read_first(JOIN_TAB *tab) #endif if ((error=table->file->ft_init(tab->ref.key, tab->ref.key_buff, - tab->ref.key_length,TRUE))) + tab->ref.key_length))) { if (error != HA_ERR_KEY_NOT_FOUND) { @@ -4303,7 +4304,6 @@ join_ft_read_first(JOIN_TAB *tab) table->file->print_error(error,MYF(0)); return 1; } - table->file->ft_close(); return -1; } return 0; @@ -4322,7 +4322,6 @@ join_ft_read_next(READ_RECORD *info) info->file->print_error(error,MYF(0)); return 1; } - info->file->ft_close(); return -1; } return 0; @@ -4974,6 +4973,7 @@ create_sort_index(JOIN_TAB *tab,ORDER *order,ha_rows select_limit) } } else + if (tab->type != JT_FT) /* Beware! SerG */ { /* We have a ref on a const; Change this to a range that filesort |