summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/main/ignore_indexes.result20
-rw-r--r--mysql-test/main/ignore_indexes.test14
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;