diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb_mysql.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb_mysql.test | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/mysql-test/suite/innodb/t/innodb_mysql.test b/mysql-test/suite/innodb/t/innodb_mysql.test index 2f983436177..d379e63f505 100644 --- a/mysql-test/suite/innodb/t/innodb_mysql.test +++ b/mysql-test/suite/innodb/t/innodb_mysql.test @@ -504,7 +504,11 @@ INSERT INTO t2 VALUES (),(); CREATE OR REPLACE VIEW v1 AS SELECT 1 FROM t2 WHERE b =(SELECT a FROM t1 LIMIT 1); +--disable_query_log +--disable_result_log CONNECT (con1, localhost, root,,); +--enable_query_log +--enable_result_log CONNECTION default; DELIMITER |; @@ -559,6 +563,23 @@ drop table t1,t2; --echo # +--echo # Bug #39653: find_shortest_key in sql_select.cc does not consider +--echo # clustered primary keys +--echo # + +CREATE TABLE t1 (a INT PRIMARY KEY, b INT, c INT, d INT, e INT, f INT, + KEY (b,c)) ENGINE=INNODB; + +INSERT INTO t1 VALUES (1,1,1,1,1,1), (2,2,2,2,2,2), (3,3,3,3,3,3), + (4,4,4,4,4,4), (5,5,5,5,5,5), (6,6,6,6,6,6), + (7,7,7,7,7,7), (8,8,8,8,8,8), (9,9,9,9,9,9), + (11,11,11,11,11,11); + +--query_vertical EXPLAIN SELECT COUNT(*) FROM t1 + +DROP TABLE t1; + +--echo # --echo # Bug #49838: DROP INDEX and ADD UNIQUE INDEX for same index may --echo # corrupt definition at engine --echo # @@ -839,6 +860,15 @@ CREATE INDEX b ON t1(a,b,c,d); DROP TABLE t1; +--echo # +--echo # ALTER TABLE IGNORE didn't ignore duplicates for unique add index +--echo # + +create table t1 (a int primary key, b int) engine = innodb; +insert into t1 values (1,1),(2,1); +alter ignore table t1 add unique `main` (b); +drop table t1; + --echo End of 5.1 tests --echo # @@ -901,6 +931,57 @@ SET SESSION sort_buffer_size = DEFAULT; DROP TABLE t1; --echo # +--echo # Test for bug #39932 "create table fails if column for FK is in different +--echo # case than in corr index". +--echo # +--disable_warnings +drop tables if exists t1, t2; +--enable_warnings +create table t1 (pk int primary key) engine=InnoDB; +--echo # Even although the below statement uses uppercased field names in +--echo # foreign key definition it still should be able to find explicitly +--echo # created supporting index. So it should succeed and should not +--echo # create any additional supporting indexes. +create table t2 (fk int, key x (fk), + constraint x foreign key (FK) references t1 (PK)) engine=InnoDB; +show create table t2; +drop table t2, t1; + +--echo # +--echo # Bug #663818: wrong result when BNLH is used +--echo # + +CREATE TABLE t1(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t1 VALUES + (1), (2), (11), (12), (13), (14), + (15), (16), (17), (18), (19); +CREATE TABLE t2(pk int NOT NULL PRIMARY KEY) ENGINE=InnoDB; +INSERT INTO t2 VALUES + (1), (10), (11), (12), (13), (14), + (15), (16), (17), (18), (19), (20), (21); + +SET SESSION join_buffer_size=10000; + +SET SESSION join_cache_level=3; +EXPLAIN +SELECT t1.pk FROM t1,t2 + WHERE t1.pk = t2.pk AND t2.pk <> 8; +SELECT t1.pk FROM t1,t2 + WHERE t1.pk = t2.pk AND t2.pk <> 8; + +SET SESSION join_cache_level=1; +EXPLAIN +SELECT t1.pk FROM t1,t2 + WHERE t1.pk = t2.pk AND t2.pk <> 8; +SELECT t1.pk FROM t1,t2 + WHERE t1.pk = t2.pk AND t2.pk <> 8; + +DROP TABLE t1,t2; + +SET SESSION join_cache_level=DEFAULT; +SET SESSION join_buffer_size=DEFAULT; + +--echo # --echo # Bug#668644: HAVING + ORDER BY --echo # @@ -934,6 +1015,41 @@ SELECT t1 .i AS f FROM t1, t2 DROP TABLE t1, t2; +--echo # +--echo # Test for bug #56619 - Assertion failed during +--echo # ALTER TABLE RENAME, DISABLE KEYS +--echo # + +--disable_warnings +DROP TABLE IF EXISTS t1, t2; +--enable_warnings +CREATE TABLE t1 (a INT, INDEX(a)) engine=innodb; +--disable_warnings +ALTER TABLE t1 RENAME TO t2, DISABLE KEYS; +DROP TABLE IF EXISTS t1, t2; +--enable_warnings + +--echo # +--echo # Bug#702322: HAVING with two ANDed predicates + ORDER BY +--echo # + +CREATE TABLE t1 (pk int PRIMARY KEY, a int, KEY (a)) ENGINE=InnoDB; +CREATE TABLE t2 (a int, KEY (a)) ENGINE=InnoDB; + +INSERT INTO t1 VALUES + (18,0),(9,10),(8,11),(2,15),(7,19),(1,20); + +SET SESSION join_cache_level = 0; + +EXPLAIN +SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a + WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11 + ORDER BY t1.a; +SELECT t1.a FROM t1 LEFT JOIN t2 ON t1.pk = t2.a + WHERE t1.pk >= 6 HAVING t1.a<> 0 AND t1.a <> 11 + ORDER BY t1.a; + +DROP TABLE t1,t2; --echo End of 5.3 tests @@ -1027,3 +1143,5 @@ CREATE INDEX a ON t1 (a); CREATE INDEX c on t1 (c); DROP TABLE t1; + +--echo End of 5.1 tests |