summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/main/ignore_indexes.result21
-rw-r--r--mysql-test/main/ignore_indexes.test13
-rw-r--r--sql/sql_yacc.yy2
3 files changed, 35 insertions, 1 deletions
diff --git a/mysql-test/main/ignore_indexes.result b/mysql-test/main/ignore_indexes.result
index 46c0413e02f..a4aed5cb498 100644
--- a/mysql-test/main/ignore_indexes.result
+++ b/mysql-test/main/ignore_indexes.result
@@ -460,3 +460,24 @@ BEGIN
SET IGNORED= a+b;
END |
ERROR HY000: Unknown system variable 'IGNORED'
+#
+# ALLOWING ALTER KEY syntax in ALTER TABLE
+#
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER KEY a IGNORED;
+SHOW CREATE TABLE t1;
+Table Create Table
+t1 CREATE TABLE `t1` (
+ `a` int(11) DEFAULT NULL,
+ KEY `a` (`a`) IGNORED
+) ENGINE=MyISAM DEFAULT CHARSET=latin1
+DROP TABLE t1;
diff --git a/mysql-test/main/ignore_indexes.test b/mysql-test/main/ignore_indexes.test
index ae7a100779d..3215226ca26 100644
--- a/mysql-test/main/ignore_indexes.test
+++ b/mysql-test/main/ignore_indexes.test
@@ -429,3 +429,16 @@ BEGIN
SET IGNORED= a+b;
END |
DELIMITER ;|
+
+--echo #
+--echo # ALLOWING ALTER KEY syntax in ALTER TABLE
+--echo #
+
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER INDEX a IGNORED;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
+CREATE TABLE t1 (a INT, KEY (a));
+ALTER TABLE t1 ALTER KEY a IGNORED;
+SHOW CREATE TABLE t1;
+DROP TABLE t1;
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 341668d674d..eb25d206f7b 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -7794,7 +7794,7 @@ alter_list_item:
if (unlikely(Lex->add_alter_list($4, $7, $3)))
MYSQL_YYABORT;
}
- | ALTER INDEX_SYM ident ignorability
+ | ALTER key_or_index ident ignorability
{
LEX *lex= Lex;
Alter_index_ignorability *ac= new (thd->mem_root)