diff options
author | Varun Gupta <varun.gupta@mariadb.com> | 2021-03-11 03:22:59 +0530 |
---|---|---|
committer | Varun Gupta <varun.gupta@mariadb.com> | 2021-03-11 03:23:14 +0530 |
commit | bbcbb1f66111ab474008e65d34adc2eb23f8bc9c (patch) | |
tree | ac2e8acbf6fe7ab44ed3b1cbfd66b2b8446ef4a1 | |
parent | 93bb081b42d32331f23cad9d9651bfad12eaa6bb (diff) | |
download | mariadb-git-bb-10.6-mdev7317.tar.gz |
MDEV-25078: ALTER INDEX is inconsistent with ADD/DROP/RENAME indexbb-10.6-mdev7317
Allowing ALTER KEY syntax in ALTER TABLE,so one can use:
ALTER TABLE tbl ALTER INDEX index_name IGNORED
ALTER TABLE tbl ALTER KEY index_name IGNORED
-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) |