diff options
Diffstat (limited to 'mysql-test/suite/innodb/t')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb_mysql.test | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/innodb_mysql.test b/mysql-test/suite/innodb/t/innodb_mysql.test index 5a3a72c09bf..9dae66150a2 100644 --- a/mysql-test/suite/innodb/t/innodb_mysql.test +++ b/mysql-test/suite/innodb/t/innodb_mysql.test @@ -632,4 +632,48 @@ UPDATE t1,t2 SET t1.a = t1.a + 100 WHERE t1.a = 1; DROP TABLE t1,t2; +--echo # +--echo # Bug #53334: wrong result for outer join with impossible ON condition +--echo # (see the same test case for MyISAM in join.test) +--echo # + +CREATE TABLE t1 (id INT PRIMARY KEY); +CREATE TABLE t2 (id INT); + +INSERT INTO t1 VALUES (75); +INSERT INTO t1 VALUES (79); +INSERT INTO t1 VALUES (78); +INSERT INTO t1 VALUES (77); +REPLACE INTO t1 VALUES (76); +REPLACE INTO t1 VALUES (76); +INSERT INTO t1 VALUES (104); +INSERT INTO t1 VALUES (103); +INSERT INTO t1 VALUES (102); +INSERT INTO t1 VALUES (101); +INSERT INTO t1 VALUES (105); +INSERT INTO t1 VALUES (106); +INSERT INTO t1 VALUES (107); + +INSERT INTO t2 VALUES (107),(75),(1000); + +SELECT t1.id,t2.id FROM t2 LEFT JOIN t1 ON t1.id>=74 AND t1.id<=0 + WHERE t2.id=75 AND t1.id IS NULL; +EXPLAIN SELECT t1.id,t2.id FROM t2 LEFT JOIN t1 ON t1.id>=74 AND t1.id<=0 + WHERE t2.id=75 AND t1.id IS NULL; + +DROP TABLE t1,t2; + +--echo # +--echo # Bug #53830: !table || (!table->read_set || bitmap_is_set(table->read_set, field_index)) +--echo # + +CREATE TABLE t1 (a INT, b INT, c INT, d INT, + PRIMARY KEY(a,b,c), KEY(b,d)) + ENGINE=InnoDB; +INSERT INTO t1 VALUES (0, 77, 1, 3); + +UPDATE t1 SET d = 0 WHERE b = 77 AND c = 25; + +DROP TABLE t1; + --echo End of 5.1 tests |