mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0
into sinisa.nasamreza.org:/mnt/work/mysql-4.0 sql/sql_acl.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
This commit is contained in:
@ -453,6 +453,9 @@ mysql_select(THD *thd,TABLE_LIST *tables,List<Item> &fields,COND *conds,
|
||||
goto err;
|
||||
|
||||
thd->proc_info="preparing";
|
||||
|
||||
select_distinct= select_distinct && (join.const_tables != join.tables);
|
||||
|
||||
if (result->initialize_tables(&join))
|
||||
goto err;
|
||||
if (join.const_table_map != join.found_const_table_map &&
|
||||
@ -1634,6 +1637,9 @@ add_key_part(DYNAMIC_ARRAY *keyuse_array,KEY_FIELD *key_field)
|
||||
key_field->field->table->reginfo.not_exists_optimize=1;
|
||||
}
|
||||
|
||||
|
||||
#define FT_KEYPART (MAX_REF_PARTS+10)
|
||||
|
||||
static void
|
||||
add_ft_keys(DYNAMIC_ARRAY *keyuse_array,
|
||||
JOIN_TAB *stat,COND *cond,table_map usable_tables)
|
||||
@ -1692,23 +1698,20 @@ add_ft_keys(DYNAMIC_ARRAY *keyuse_array,
|
||||
}
|
||||
}
|
||||
|
||||
if (!cond_func || cond_func->key == NO_SUCH_KEY)
|
||||
return;
|
||||
|
||||
if (!(usable_tables & cond_func->table->map))
|
||||
if ((!cond_func || cond_func->key == NO_SUCH_KEY) ||
|
||||
(!(usable_tables & cond_func->table->map)))
|
||||
return;
|
||||
|
||||
KEYUSE keyuse;
|
||||
|
||||
keyuse.table= cond_func->table;
|
||||
keyuse.val = cond_func;
|
||||
keyuse.key = cond_func->key;
|
||||
#define FT_KEYPART (MAX_REF_PARTS+10)
|
||||
keyuse.keypart=FT_KEYPART;
|
||||
keyuse.keypart= FT_KEYPART;
|
||||
keyuse.used_tables=cond_func->key_item()->used_tables();
|
||||
VOID(insert_dynamic(keyuse_array,(gptr) &keyuse));
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
sort_keyuse(KEYUSE *a,KEYUSE *b)
|
||||
{
|
||||
|
Reference in New Issue
Block a user