mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Manual merge from mysql-trunk-merge.
Fix partition_column.test.
This commit is contained in:
@ -110,7 +110,7 @@ a
|
|||||||
NULL
|
NULL
|
||||||
explain partitions select * from t1 where a is null;
|
explain partitions select * from t1 where a is null;
|
||||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 10 Using where
|
1 SIMPLE t1 p0 ALL NULL NULL NULL NULL 2 Using where
|
||||||
select * from t1 where a <= 1;
|
select * from t1 where a <= 1;
|
||||||
a
|
a
|
||||||
1
|
1
|
||||||
|
@ -1601,10 +1601,9 @@ INSERT INTO t1 VALUES (1, '2009-01-01'), (2, NULL);
|
|||||||
# test with an invalid date, which lead to item->null_value is set.
|
# test with an invalid date, which lead to item->null_value is set.
|
||||||
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b < CAST('2009-04-99' AS DATETIME);
|
EXPLAIN PARTITIONS SELECT * FROM t1 WHERE b < CAST('2009-04-99' AS DATETIME);
|
||||||
id select_type table partitions type possible_keys key key_len ref rows Extra
|
id select_type table partitions type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 p20090401 ALL NULL NULL NULL NULL 2 Using where
|
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1292 Incorrect datetime value: '2009-04-99'
|
Warning 1292 Incorrect datetime value: '2009-04-99'
|
||||||
Warning 1292 Incorrect datetime value: '2009-04-99'
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1
|
CREATE TABLE t1
|
||||||
(a INT NOT NULL AUTO_INCREMENT,
|
(a INT NOT NULL AUTO_INCREMENT,
|
||||||
|
@ -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
|
||||||
|
@ -4403,8 +4403,7 @@ FROM t1
|
|||||||
WHERE a = 230;
|
WHERE a = 230;
|
||||||
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 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
1 PRIMARY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
2 DEPENDENT SUBQUERY st1 index NULL a 5 NULL 2 Using index
|
2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||||
2 DEPENDENT SUBQUERY st2 index b b 5 NULL 2 Using where; Using index; Using join buffer
|
|
||||||
SELECT MAX(b), (SELECT COUNT(*) FROM st1,st2 WHERE st2.b <= t1.b)
|
SELECT MAX(b), (SELECT COUNT(*) FROM st1,st2 WHERE st2.b <= t1.b)
|
||||||
FROM t1
|
FROM t1
|
||||||
WHERE a = 230;
|
WHERE a = 230;
|
||||||
|
@ -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
|
||||||
|
@ -6067,6 +6067,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