diff --git a/mysql-test/include/min_null_cond.inc b/mysql-test/include/min_null_cond.inc index fcfaad43e57..c958fc7075a 100644 --- a/mysql-test/include/min_null_cond.inc +++ b/mysql-test/include/min_null_cond.inc @@ -18,11 +18,13 @@ EXPLAIN SELECT MIN( a ) FROM t1 WHERE a < NULL; SELECT MIN( a ) FROM t1 WHERE a < NULL; +if (!$skip_null_safe_test) +{ --replace_column 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x EXPLAIN SELECT MIN( a ) FROM t1 WHERE a <=> NULL; SELECT MIN( a ) FROM t1 WHERE a <=> NULL; - +} --replace_column 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x EXPLAIN SELECT MIN( a ) FROM t1 WHERE a BETWEEN NULL AND 10; diff --git a/mysql-test/r/group_min_max.result b/mysql-test/r/group_min_max.result index 604e93af4a0..01f27a498ef 100644 --- a/mysql-test/r/group_min_max.result +++ b/mysql-test/r/group_min_max.result @@ -2691,6 +2691,17 @@ DROP TABLE t1; ## Test for NOT NULLs CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY); INSERT INTO t1 VALUES (1), (2), (3); +# +# NULL-safe operator test disabled for non-NULL indexed columns. +# +# See bugs +# +# - Bug#52173: Reading NULL value from non-NULL index gives +# wrong result in embedded server +# +# - Bug#52174: Sometimes wrong plan when reading a MAX value from +# non-NULL index +# EXPLAIN SELECT MIN( a ) FROM t1 WHERE a = NULL; id select_type table type possible_keys key key_len ref rows Extra @@ -2720,13 +2731,6 @@ SELECT MIN( a ) FROM t1 WHERE a < NULL; MIN( a ) NULL EXPLAIN -SELECT MIN( a ) FROM t1 WHERE a <=> NULL; -id select_type table type possible_keys key key_len ref rows Extra -x x x x x x x x x No matching min/max row -SELECT MIN( a ) FROM t1 WHERE a <=> NULL; -MIN( a ) -NULL -EXPLAIN SELECT MIN( a ) FROM t1 WHERE a BETWEEN NULL AND 10; id select_type table type possible_keys key key_len ref rows Extra x x x x x x x x x Impossible WHERE noticed after reading const tables diff --git a/mysql-test/t/group_min_max.test b/mysql-test/t/group_min_max.test index 6aec0e3677f..b06f0c09fc5 100644 --- a/mysql-test/t/group_min_max.test +++ b/mysql-test/t/group_min_max.test @@ -1070,6 +1070,18 @@ DROP TABLE t1; --echo ## Test for NOT NULLs CREATE TABLE t1 ( a INT NOT NULL PRIMARY KEY); INSERT INTO t1 VALUES (1), (2), (3); +--echo # +--echo # NULL-safe operator test disabled for non-NULL indexed columns. +--echo # +--echo # See bugs +--echo # +--echo # - Bug#52173: Reading NULL value from non-NULL index gives +--echo # wrong result in embedded server +--echo # +--echo # - Bug#52174: Sometimes wrong plan when reading a MAX value from +--echo # non-NULL index +--echo # +--let $skip_null_safe_test= 1 --source include/min_null_cond.inc DROP TABLE t1;