diff options
Diffstat (limited to 'mysql-test/main')
-rw-r--r-- | mysql-test/main/ignore_indexes.result | 20 | ||||
-rw-r--r-- | mysql-test/main/ignore_indexes.test | 14 |
2 files changed, 33 insertions, 1 deletions
diff --git a/mysql-test/main/ignore_indexes.result b/mysql-test/main/ignore_indexes.result index ee4af96db4f..bcbfb57ba34 100644 --- a/mysql-test/main/ignore_indexes.result +++ b/mysql-test/main/ignore_indexes.result @@ -97,7 +97,7 @@ t1 CREATE TABLE `t1` ( `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, KEY `a` (`a`), - KEY `b` (`b`) IGNORE, + KEY `b` (`b`) IGNORED, KEY `c` (`c`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 DROP TABLE t1; @@ -379,3 +379,21 @@ EXPLAIN SELECT b FROM t1; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 ALL NULL NULL NULL NULL 14 DROP TABLE t1; +# +# Using FORCE INDEX for an ignored index +# +CREATE TABLE t1(a INT, key k1(a)); +INSERT INTO t1 VALUES (1),(2),(3); +EXPLAIN SELECT * FROM t1 FORCE INDEX(k1); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 index NULL k1 5 NULL 3 Using index +ALTER TABLE t1 ALTER INDEX k1 IGNORE; +SHOW CREATE TABLE t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL, + KEY `k1` (`a`) IGNORED +) ENGINE=MyISAM DEFAULT CHARSET=latin1 +EXPLAIN SELECT * FROM t1 FORCE INDEX(k1); +ERROR 42000: Key 'k1' doesn't exist in table 't1' +DROP TABLE t1; diff --git a/mysql-test/main/ignore_indexes.test b/mysql-test/main/ignore_indexes.test index 6648609e722..a061dab78ce 100644 --- a/mysql-test/main/ignore_indexes.test +++ b/mysql-test/main/ignore_indexes.test @@ -338,5 +338,19 @@ EXPLAIN SELECT * FROM t1 WHERE a = '04'; ALTER TABLE t1 ALTER INDEX b IGNORE; EXPLAIN SELECT b FROM t1; +DROP TABLE t1; + +--echo # +--echo # Using FORCE INDEX for an ignored index +--echo # + +CREATE TABLE t1(a INT, key k1(a)); +INSERT INTO t1 VALUES (1),(2),(3); + +EXPLAIN SELECT * FROM t1 FORCE INDEX(k1); +ALTER TABLE t1 ALTER INDEX k1 IGNORE; +SHOW CREATE TABLE t1; +--error ER_KEY_DOES_NOT_EXISTS +EXPLAIN SELECT * FROM t1 FORCE INDEX(k1); DROP TABLE t1; |