summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2021-03-11 03:22:59 +0530
committerVarun Gupta <varun.gupta@mariadb.com>2021-03-11 03:23:14 +0530
commitbbcbb1f66111ab474008e65d34adc2eb23f8bc9c (patch)
treeac2e8acbf6fe7ab44ed3b1cbfd66b2b8446ef4a1
parent93bb081b42d32331f23cad9d9651bfad12eaa6bb (diff)
downloadmariadb-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.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)