mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Merge 5.3->5.5
This commit is contained in:
@ -343,3 +343,33 @@ Field Type Null Key Default Extra
|
||||
IFNULL(NULL, b) decimal(1,0) YES NULL
|
||||
DROP TABLE t1, t2;
|
||||
# End of 5.0 tests
|
||||
#
|
||||
# MDEV-4895 Valgrind warnings (Conditional jump or move depends on uninitialised value) in Field_datetime::get_date on GREATEST(..) IS NULL
|
||||
#
|
||||
CREATE TABLE t1 (dt DATETIME NOT NULL);
|
||||
INSERT INTO t1 VALUES (NOW()),(NOW());
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE concat( dt, '2012-12-21 12:12:12' ) IS NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
SELECT * FROM t1 WHERE concat( dt, '2012-12-21 12:12:12' ) IS NULL;
|
||||
dt
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (dt INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE concat( dt, '1' ) IS NULL;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
SELECT * FROM t1 WHERE concat( dt, '1' ) IS NULL;
|
||||
dt
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (dt INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE NOT (concat( dt, '1' ) IS NOT NULL);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
SELECT * FROM t1 WHERE NOT (concat( dt, '1' ) IS NOT NULL);
|
||||
dt
|
||||
DROP TABLE t1;
|
||||
|
@ -255,3 +255,31 @@ DESCRIBE t2;
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo # End of 5.0 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-4895 Valgrind warnings (Conditional jump or move depends on uninitialised value) in Field_datetime::get_date on GREATEST(..) IS NULL
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (dt DATETIME NOT NULL);
|
||||
INSERT INTO t1 VALUES (NOW()),(NOW());
|
||||
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE concat( dt, '2012-12-21 12:12:12' ) IS NULL;
|
||||
SELECT * FROM t1 WHERE concat( dt, '2012-12-21 12:12:12' ) IS NULL;
|
||||
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (dt INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE concat( dt, '1' ) IS NULL;
|
||||
SELECT * FROM t1 WHERE concat( dt, '1' ) IS NULL;
|
||||
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (dt INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE NOT (concat( dt, '1' ) IS NOT NULL);
|
||||
SELECT * FROM t1 WHERE NOT (concat( dt, '1' ) IS NOT NULL);
|
||||
|
||||
DROP TABLE t1;
|
||||
|
@ -4748,6 +4748,8 @@ Item *and_expressions(Item *a, Item *b, Item **org_item)
|
||||
longlong Item_func_isnull::val_int()
|
||||
{
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
if (const_item() && !args[0]->maybe_null)
|
||||
return 0;
|
||||
return args[0]->is_null() ? 1: 0;
|
||||
}
|
||||
|
||||
@ -4755,6 +4757,8 @@ longlong Item_is_not_null_test::val_int()
|
||||
{
|
||||
DBUG_ASSERT(fixed == 1);
|
||||
DBUG_ENTER("Item_is_not_null_test::val_int");
|
||||
if (const_item() && !args[0]->maybe_null)
|
||||
DBUG_RETURN(1);
|
||||
if (args[0]->is_null())
|
||||
{
|
||||
DBUG_PRINT("info", ("null"));
|
||||
|
@ -13748,7 +13748,7 @@ internal_remove_eq_conds(THD *thd, COND *cond, Item::cond_result *cond_value)
|
||||
Propagate the newly formed multiple equalities to
|
||||
the all AND/OR levels of cond
|
||||
*/
|
||||
bool is_simplifiable_cond= true;
|
||||
bool is_simplifiable_cond= false;
|
||||
propagate_new_equalities(thd, cond, cond_equalities,
|
||||
cond_equal->upper_levels,
|
||||
&is_simplifiable_cond);
|
||||
@ -13759,7 +13759,7 @@ internal_remove_eq_conds(THD *thd, COND *cond, Item::cond_result *cond_value)
|
||||
*/
|
||||
if (is_simplifiable_cond)
|
||||
{
|
||||
if (!(cond= remove_eq_conds(thd, cond, cond_value)))
|
||||
if (!(cond= internal_remove_eq_conds(thd, cond, cond_value)))
|
||||
return cond;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user