diff options
author | unknown <serg@sergbook.mysql.com> | 2004-06-21 19:42:00 +0300 |
---|---|---|
committer | unknown <serg@sergbook.mysql.com> | 2004-06-21 19:42:00 +0300 |
commit | 83a4e46d8e6c324ae6f2232a36907a554a3d9dd4 (patch) | |
tree | c835111cbdb01ffd8e8443a7f50f43e492e2e1d1 /sql/sql_select.cc | |
parent | e4042c25ef4c7162046e953198dfd56bc80db1f8 (diff) | |
download | mariadb-git-83a4e46d8e6c324ae6f2232a36907a554a3d9dd4.tar.gz |
use ref not range for ... WHERE key IN (val)
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r-- | sql/sql_select.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 5b754186736..096b73c482f 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -1590,12 +1590,14 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level, // BETWEEN or IN if (cond_func->key_item()->type() == Item::FIELD_ITEM) add_key_field(key_fields,*and_level, - ((Item_field*) (cond_func->key_item()))->field, 0, + ((Item_field*) (cond_func->key_item()))->field, #ifndef TO_BE_REMOVED_IN_4_1 /* special treatment for IN. Not necessary in 4.1 */ + cond_func->argument_count() == 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->argument_count() == 2, cond_func->arguments()+1, cond_func->argument_count()-1, #endif usable_tables); |