mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
MDEV-8369 Unexpected impossible WHERE for a condition on a ZEROFILL field
Disable IDENTITY_SUBST propagation for ZEROFILL columns, as discussed with Sergei.
This commit is contained in:
@@ -92,3 +92,51 @@ 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
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user