1--echo #
2--echo # MDEV-7149 Constant condition propagation erroneously applied for LIKE
3--echo #
4
5CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
6SHOW CREATE TABLE t1;
7INSERT INTO t1 VALUES ('a'),('a ');
8SELECT * FROM t1 WHERE CONCAT(c1)='a';
9SELECT * FROM t1 WHERE CONCAT(c1) LIKE 'a ';
10SELECT * FROM t1 WHERE CONCAT(c1)='a' AND CONCAT(c1) LIKE 'a ';
11EXPLAIN EXTENDED SELECT * FROM t1 WHERE CONCAT(c1)='a' AND CONCAT(c1) LIKE 'a ';
12DROP TABLE t1;
13
14CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
15SHOW CREATE TABLE t1;
16INSERT INTO t1 VALUES ('a'),('a ');
17SELECT * FROM t1 WHERE 'a'=CONCAT(c1);
18SELECT * FROM t1 WHERE 'a ' LIKE CONCAT(c1);
19SELECT * FROM t1 WHERE 'a'=CONCAT(c1) AND 'a ' LIKE CONCAT(c1);
20EXPLAIN EXTENDED SELECT * FROM t1 WHERE 'a'=CONCAT(c1) AND 'a ' LIKE CONCAT(c1);
21DROP TABLE t1;
22
23CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
24SHOW CREATE TABLE t1;
25INSERT INTO t1 VALUES ('%'),('% ');
26SELECT * FROM t1 WHERE '% '=CONCAT(c1);
27SELECT * FROM t1 WHERE 'a' LIKE CONCAT(c1);
28SELECT * FROM t1 WHERE '% '=CONCAT(c1) AND 'a' LIKE CONCAT(c1);
29EXPLAIN EXTENDED SELECT * FROM t1 WHERE '% '=CONCAT(c1) AND 'a' LIKE CONCAT(c1);
30DROP TABLE t1;
31
32CREATE TABLE t1 AS SELECT REPEAT('a', 10) AS c1 LIMIT 0;
33SHOW CREATE TABLE t1;
34INSERT INTO t1 VALUES ('%'),('% ');
35SELECT * FROM t1 WHERE '%'=CONCAT(c1);
36SELECT * FROM t1 WHERE 'a' LIKE CONCAT(c1);
37SELECT * FROM t1 WHERE '%'=CONCAT(c1) AND 'a' LIKE CONCAT(c1);
38EXPLAIN EXTENDED SELECT * FROM t1 WHERE '%'=CONCAT(c1) AND 'a' LIKE CONCAT(c1);
39DROP TABLE t1;
40
41--echo #
42--echo # MDEV-8694 Wrong result for SELECT..WHERE a NOT LIKE 'a ' AND a='a'
43--echo #
44
45CREATE TABLE t1 AS SELECT SPACE(10) AS a LIMIT 0;
46SHOW CREATE TABLE t1;
47INSERT INTO t1 VALUES ('a'),('a ');
48SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ';
49SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ' AND a='a';
50EXPLAIN EXTENDED SELECT a, LENGTH(a) FROM t1 WHERE a NOT LIKE 'a ' AND a='a';
51DROP TABLE t1;
52
53--echo #
54--echo # End of MDEV-8694
55--echo #
56