summaryrefslogtreecommitdiff
path: root/sql/opt_range.cc
diff options
context:
space:
mode:
authorunknown <ndbdev@dl145b.mysql.com>2005-09-09 15:26:47 +0200
committerunknown <ndbdev@dl145b.mysql.com>2005-09-09 15:26:47 +0200
commit36aeee3682fa975df244f44fb34e1c05f3263551 (patch)
tree8b8e4544543c49e86d358196df4f951aa55502dd /sql/opt_range.cc
parentde82d9eec0fd1d55c225a2420572b6e5e59ff8f7 (diff)
parent057855a34a2efbbca11ab2428c44790a52c401d9 (diff)
downloadmariadb-git-36aeee3682fa975df244f44fb34e1c05f3263551.tar.gz
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into dl145b.mysql.com:/home/ndbdev/tomas/mysql-5.1 configure.in: Auto merged include/my_global.h: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/log.cc: Auto merged sql/opt_range.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_parse.cc: Auto merged sql/examples/ha_tina.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_select.h: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged storage/ndb/include/kernel/signaldata/BackupImpl.hpp: Auto merged storage/ndb/include/kernel/signaldata/BackupSignalData.hpp: Auto merged storage/ndb/include/kernel/signaldata/NFCompleteRep.hpp: Auto merged storage/ndb/include/kernel/signaldata/NodeFailRep.hpp: Auto merged storage/ndb/src/kernel/blocks/backup/Backup.cpp: Auto merged storage/ndb/src/kernel/blocks/backup/Backup.hpp: Auto merged storage/ndb/src/kernel/main.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.hpp: Auto merged storage/ndb/src/ndbapi/Makefile.am: Auto merged storage/ndb/src/ndbapi/NdbTransaction.cpp: Auto merged storage/ndb/test/src/NdbBackup.cpp: Auto merged
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r--sql/opt_range.cc15
1 files changed, 3 insertions, 12 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 31b55219636..b69822d201b 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -3529,18 +3529,9 @@ static SEL_TREE *get_mm_tree(PARAM *param,COND *cond)
}
Item_func *cond_func= (Item_func*) cond;
- if (cond_func->functype() == Item_func::NOT_FUNC)
- {
- /* Optimize NOT BETWEEN and NOT IN */
- Item *arg= cond_func->arguments()[0];
- if (arg->type() != Item::FUNC_ITEM)
- DBUG_RETURN(0);
- cond_func= (Item_func*) arg;
- if (cond_func->functype() != Item_func::BETWEEN &&
- cond_func->functype() != Item_func::IN_FUNC)
- DBUG_RETURN(0);
- inv= TRUE;
- }
+ if (cond_func->functype() == Item_func::BETWEEN ||
+ cond_func->functype() == Item_func::IN_FUNC)
+ inv= ((Item_func_opt_neg *) cond_func)->negated;
else if (cond_func->select_optimize() == Item_func::OPTIMIZE_NONE)
DBUG_RETURN(0);