summaryrefslogtreecommitdiff
path: root/sql/opt_range.cc
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2003-10-01 20:20:17 -0700
committerunknown <igor@rurik.mysql.com>2003-10-01 20:20:17 -0700
commit09e7be1d821831eee3bdeb0126a92aa7c23bed7d (patch)
tree1e1f87443b0524fc4518025161bb250daa10cb18 /sql/opt_range.cc
parent7c7ee4d2f4ae29df2167b0ca0e9ab6dfd93a1c07 (diff)
downloadmariadb-git-09e7be1d821831eee3bdeb0126a92aa7c23bed7d.tar.gz
Manual merge after improving concurrency for key cache reassignment
Diffstat (limited to 'sql/opt_range.cc')
-rw-r--r--sql/opt_range.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/opt_range.cc b/sql/opt_range.cc
index 5b1e2c98001..7376c2e24bb 100644
--- a/sql/opt_range.cc
+++ b/sql/opt_range.cc
@@ -890,6 +890,7 @@ static SEL_TREE *
get_mm_parts(PARAM *param, Field *field, Item_func::Functype type,
Item *value, Item_result cmp_type)
{
+ bool ne_func= FALSE;
DBUG_ENTER("get_mm_parts");
if (field->table != param->table)
DBUG_RETURN(0);
@@ -927,6 +928,14 @@ get_mm_parts(PARAM *param, Field *field, Item_func::Functype type,
tree->keys[key_part->key]=sel_add(tree->keys[key_part->key],sel_arg);
}
}
+
+ if (ne_func)
+ {
+ SEL_TREE *tree2= get_mm_parts(param, field, Item_func::GT_FUNC,
+ value, cmp_type);
+ if (tree2)
+ tree= tree=tree_or(param,tree,tree2);
+ }
DBUG_RETURN(tree);
}