summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2004-06-26 14:21:32 +0200
committerunknown <serg@serg.mylan>2004-06-26 14:21:32 +0200
commit7eb1afabea183c2b8a2cc50af659f16d8092b069 (patch)
treeb347e9d8239a7545f7e1124189aa2de1238fbcb0 /sql/sql_select.cc
parentdbdca40549f9237893dfb872402a9e7f57084ef0 (diff)
downloadmariadb-git-7eb1afabea183c2b8a2cc50af659f16d8092b069.tar.gz
after merge fixed
mysql-test/r/flush_table.result: after merge fixed duplicated tests removed mysql-test/t/flush_table.test: after merge fixed duplicated tests removed sql/sql_yacc.yy: alias is not db-qualified
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index 26ee225262b..2f8ede4b4cb 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -2278,12 +2278,13 @@ add_key_fields(JOIN_TAB *stat,KEY_FIELD **key_fields,uint *and_level,
case Item_func::OPTIMIZE_NONE:
break;
case Item_func::OPTIMIZE_KEY:
- // BETWEEN or IN
+ // BETWEEN, IN, NOT
if (cond_func->key_item()->real_item()->type() == Item::FIELD_ITEM &&
!(cond_func->used_tables() & OUTER_REF_TABLE_BIT))
add_key_field(key_fields,*and_level,cond_func,
- ((Item_field*) (cond_func->key_item()->real_item()))->
- field, cond_func->argument_count() == 2,
+ ((Item_field*)(cond_func->key_item()->real_item()))->field,
+ cond_func->argument_count() == 2 &&
+ cond_func->functype() == Item_func::IN_FUNC,
cond_func->arguments()+1, cond_func->argument_count()-1,
usable_tables);
break;