diff options
-rw-r--r-- | mysql-test/main/ignore_indexes.result | 21 | ||||
-rw-r--r-- | mysql-test/main/ignore_indexes.test | 13 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 2 |
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) |