diff options
Diffstat (limited to 'mysql-test/r/func_weight_string.result')
-rw-r--r-- | mysql-test/r/func_weight_string.result | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/mysql-test/r/func_weight_string.result b/mysql-test/r/func_weight_string.result index 91ca9f68076..e63ee4267ea 100644 --- a/mysql-test/r/func_weight_string.result +++ b/mysql-test/r/func_weight_string.result @@ -1,4 +1,5 @@ drop table if exists t1; +set global max_allowed_packet=1048576; set names latin1; select hex(weight_string(0x010203)); hex(weight_string(0x010203)) @@ -90,3 +91,52 @@ NULL Warnings: Warning 1301 Result of cast_as_binary() was larger than max_allowed_packet (1048576) - truncated Warning 1301 Result of weight_string() was larger than max_allowed_packet (1048576) - truncated +set global max_allowed_packet=default; +# +# Start of 10.1 tests +# +# +# MDEV-8369 Unexpected impossible WHERE for a condition on a ZEROFILL field +# +CREATE TABLE t1 (a INT(6) ZEROFILL); +INSERT INTO t1 VALUES (1),(2); +SELECT * FROM t1 WHERE a=1; +a +000001 +SELECT * FROM t1 WHERE WEIGHT_STRING(a) IS NULL; +a +000001 +000002 +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +a +000001 +EXPLAIN EXTENDED +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where ((`test`.`t1`.`a` = 1) and isnull(weight_string(`test`.`t1`.`a`))) +ALTER TABLE t1 MODIFY a DOUBLE ZEROFILL; +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +a +0000000000000000000001 +EXPLAIN EXTENDED +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where ((`test`.`t1`.`a` = 1) and isnull(weight_string(`test`.`t1`.`a`))) +ALTER TABLE t1 MODIFY a DECIMAL(10,1) ZEROFILL; +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +a +000000001.0 +EXPLAIN EXTENDED +SELECT * FROM t1 WHERE a=1 AND WEIGHT_STRING(a) IS NULL; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 2 100.00 Using where +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where ((`test`.`t1`.`a` = 1) and isnull(weight_string(`test`.`t1`.`a`))) +DROP TABLE t1; +# +# End of 10.1 tests +# |