mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Manual merge.
This commit is contained in:
@ -1398,3 +1398,12 @@ a < 10;
|
|||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t3 range a a 5 NULL 8 Using where; Using index
|
1 SIMPLE t3 range a a 5 NULL 8 Using where; Using index
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
#
|
||||||
|
# Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN
|
||||||
|
#
|
||||||
|
CREATE TABLE t1(a INT, KEY(a));
|
||||||
|
INSERT INTO t1 VALUES (1), (NULL);
|
||||||
|
SELECT * FROM t1 WHERE a <> NULL and (a <> NULL or a <= NULL);
|
||||||
|
a
|
||||||
|
DROP TABLE t1;
|
||||||
|
End of 5.1 tests
|
||||||
|
@ -1171,3 +1171,14 @@ a < 5 OR
|
|||||||
a < 10;
|
a < 10;
|
||||||
|
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug #47123: Endless 100% CPU loop with STRAIGHT_JOIN
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1(a INT, KEY(a));
|
||||||
|
INSERT INTO t1 VALUES (1), (NULL);
|
||||||
|
SELECT * FROM t1 WHERE a <> NULL and (a <> NULL or a <= NULL);
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo End of 5.1 tests
|
||||||
|
@ -5891,6 +5891,17 @@ get_mm_leaf(RANGE_OPT_PARAM *param, COND *conf_func, Field *field,
|
|||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
field->table->in_use->variables.sql_mode= orig_sql_mode;
|
field->table->in_use->variables.sql_mode= orig_sql_mode;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Any sargable predicate except "<=>" involving NULL as a constant is always
|
||||||
|
FALSE
|
||||||
|
*/
|
||||||
|
if (type != Item_func::EQUAL_FUNC && field->is_real_null())
|
||||||
|
{
|
||||||
|
tree= &null_element;
|
||||||
|
goto end;
|
||||||
|
}
|
||||||
|
|
||||||
str= (uchar*) alloc_root(alloc, key_part->store_length+1);
|
str= (uchar*) alloc_root(alloc, key_part->store_length+1);
|
||||||
if (!str)
|
if (!str)
|
||||||
goto end;
|
goto end;
|
||||||
|
Reference in New Issue
Block a user