diff options
Diffstat (limited to 'mysql-test/r/type_enum.result')
-rw-r--r-- | mysql-test/r/type_enum.result | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/mysql-test/r/type_enum.result b/mysql-test/r/type_enum.result index dd9277517d8..d901434fd6e 100644 --- a/mysql-test/r/type_enum.result +++ b/mysql-test/r/type_enum.result @@ -2082,3 +2082,55 @@ DROP TABLE t1; # # End of 10.0 tests # +# +# Start of 10.1 tests +# +# +# MDEV-8729 Wrong result for SELECT..WHERE HEX(enum_column)='61' AND enum_column='a ' +# +CREATE TABLE t1 (a ENUM('a','A') CHARACTER SET latin1 COLLATE latin1_bin); +INSERT INTO t1 VALUES ('a'),('A'); +SELECT * FROM t1 WHERE a='a '; +a +a +SELECT * FROM t1 WHERE HEX(a)='61'; +a +a +SELECT * FROM t1 WHERE HEX(a)='61' AND a='a '; +a +a +# Can't propagate the equality into HEX(a), because binary collations still ignore trailing spaces +EXPLAIN EXTENDED SELECT * FROM t1 WHERE HEX(a)='61' AND a='a '; +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` = 'a ') and (hex(`test`.`t1`.`a`) = '61')) +DROP TABLE t1; +CREATE TABLE t1 (a ENUM('a','a ') CHARACTER SET BINARY); +INSERT INTO t1 VALUES ('a'),('a '); +SELECT * FROM t1 WHERE a='a '; +a +a +SELECT * FROM t1 WHERE HEX(a)='61'; +a +a +SELECT * FROM t1 WHERE HEX(a)='61' AND a='a'; +a +a +SELECT * FROM t1 WHERE HEX(a)='61' AND a='a '; +a +# Ok to propagate the equality into HEX(a), because "CHARACTER SET BINARY" does not ignore trailing spaces +EXPLAIN EXTENDED SELECT * FROM t1 WHERE HEX(a)='61' AND a='a'; +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` = 'a') +EXPLAIN EXTENDED SELECT * FROM t1 WHERE HEX(a)='61' AND a='a '; +id select_type table type possible_keys key key_len ref rows filtered Extra +1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE +Warnings: +Note 1003 select `test`.`t1`.`a` AS `a` from `test`.`t1` where 0 +DROP TABLE t1; +# +# End of 10.1 tests +# |