diff options
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_select.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index d48e809966c..153b083b3ef 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1556,7 +1556,13 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level, if (cond_func->key_item()->type() == Item::FIELD_ITEM) add_key_field(key_fields,*and_level, ((Item_field*) (cond_func->key_item()))->field, 0, +#ifndef TO_BE_REMOVED_IN_4_1 + /* special treatment for IN. Not necessary in 4.1 */ + cond_func->arguments() + (cond_func->functype() != Item_func::IN_FUNC), + cond_func->argument_count() - (cond_func->functype() != Item_func::IN_FUNC), +#else cond_func->arguments()+1, cond_func->argument_count()-1, +#endif usable_tables); break; case Item_func::OPTIMIZE_OP: |