diff options
Diffstat (limited to 'mysql-test/t/range.test')
-rw-r--r-- | mysql-test/t/range.test | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/mysql-test/t/range.test b/mysql-test/t/range.test index f0434f50c98..7b68f42c4cb 100644 --- a/mysql-test/t/range.test +++ b/mysql-test/t/range.test @@ -1640,6 +1640,45 @@ DROP TABLE t1; DROP VIEW v3; --echo # +--echo # MDEV-6105: Emoji unicode character string search query makes mariadb performance down +--echo # +SET NAMES utf8; +DROP TABLE IF EXISTS t1; +CREATE TABLE t1( +id int AUTO_INCREMENT, +fd varchar(20), +primary key(id), +index ix_fd(fd) +)engine=innodb default charset=UTF8; +INSERT INTO t1(id, fd) VALUES (null, ''),(null, 'matt'),(null, 'pitt'),(null, 'lee'),(null, 'kim'); +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +INSERT INTO t1 (fd) SELECT fd FROM t1; +--echo # The following should show "Impossible WHERE" : +explain +SELECT * FROM t1 WHERE fd='😁'; +SELECT * FROM t1 WHERE fd='😁'; + +--echo # The following must not use range access: +--replace_column 9 # +explain select count(*) from t1 where fd <'😁'; +select count(*) from t1 where fd <'😁'; +select count(*) from t1 ignore index (ix_fd) where fd <'😁'; + +drop table t1; +set names default; + +--echo # --echo # BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE --echo # @@ -1706,4 +1745,3 @@ explain select * from t3, t2 where t2.a < t3.b and t3.a=1; --echo # The second table should use 'range': explain select * from t3, t2 where t3.b > t2.a and t3.a=1; drop table t1,t2,t3; - |