opt_range.cc:
Fixed bug #11853. Corrected the code of the range optimization for NOT IN and NOT BETWEEN. range.test, range.result: Fixed bug #11853.
This commit is contained in:
parent
8b0adacbc6
commit
6ea960c8d6
@ -744,3 +744,27 @@ a b
|
||||
1 3
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (name varchar(15) NOT NULL, KEY idx(name));
|
||||
INSERT INTO t1 VALUES ('Betty'), ('Anna');
|
||||
SELECT * FROM t1;
|
||||
name
|
||||
Anna
|
||||
Betty
|
||||
DELETE FROM t1 WHERE name NOT LIKE 'A%a';
|
||||
SELECT * FROM t1;
|
||||
name
|
||||
Anna
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int, KEY idx(a));
|
||||
INSERT INTO t1 VALUES (NULL), (1), (2), (3);
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
NULL
|
||||
1
|
||||
2
|
||||
3
|
||||
DELETE FROM t1 WHERE NOT(a <=> 2);
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
2
|
||||
DROP TABLE t1;
|
||||
|
@ -553,3 +553,26 @@ SELECT a,b FROM v1 WHERE a < 2 and b=3;
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
|
||||
#
|
||||
# Bug #11853: DELETE statement with a NOT (LIKE/<=>) where condition
|
||||
# for an indexed attribute
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (name varchar(15) NOT NULL, KEY idx(name));
|
||||
INSERT INTO t1 VALUES ('Betty'), ('Anna');
|
||||
|
||||
SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE name NOT LIKE 'A%a';
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
CREATE TABLE t1 (a int, KEY idx(a));
|
||||
INSERT INTO t1 VALUES (NULL), (1), (2), (3);
|
||||
|
||||
SELECT * FROM t1;
|
||||
DELETE FROM t1 WHERE NOT(a <=> 2);
|
||||
SELECT * FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -3531,7 +3531,8 @@ static SEL_TREE *get_mm_tree(PARAM *param,COND *cond)
|
||||
if (arg->type() != Item::FUNC_ITEM)
|
||||
DBUG_RETURN(0);
|
||||
cond_func= (Item_func*) arg;
|
||||
if (cond_func->select_optimize() == Item_func::OPTIMIZE_NONE)
|
||||
if (cond_func->functype() != Item_func::BETWEEN &&
|
||||
cond_func->functype() != Item_func::IN_FUNC)
|
||||
DBUG_RETURN(0);
|
||||
inv= TRUE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user