You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by tu...@apache.org on 2022/02/26 08:40:41 UTC

[shardingsphere] branch master updated: Fix sql parse error when contains key in assignment clause and optimize index rule

This is an automated email from the ASF dual-hosted git repository.

tuichenchuxin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new f9dd0bb  Fix sql parse error when contains key in assignment clause and optimize index rule
     new 7c81634  Merge pull request #15648 from strongduanmu/dev-0225
f9dd0bb is described below

commit f9dd0bb3439609347e19f8816816b074baf23502
Author: strongduanmu <du...@apache.org>
AuthorDate: Sat Feb 26 12:34:35 2022 +0800

    Fix sql parse error when contains key in assignment clause and optimize index rule
---
 .../src/main/antlr4/imports/mysql/BaseRule.g4      |  1 +
 .../src/main/antlr4/imports/mysql/DDLStatement.g4  |  8 +--
 .../impl/MySQLDDLStatementSQLVisitor.java          |  8 +--
 .../src/main/resources/case/dml/select.xml         | 10 ++++
 .../main/resources/sql/supported/dml/select.xml    |  1 +
 .../main/resources/sql/unsupported/unsupported.xml | 64 ----------------------
 6 files changed, 18 insertions(+), 74 deletions(-)

diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/BaseRule.g4 b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/BaseRule.g4
index 71e7370..660c9b4 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/BaseRule.g4
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/BaseRule.g4
@@ -242,6 +242,7 @@ identifierKeywordsUnambiguous
     | ISSUER
     | JSON
     | JSON_VALUE
+    | KEY
     | KEY_BLOCK_SIZE
     | LAST
     | LEAVES
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
index 82d86a3..9302e7f 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
@@ -113,10 +113,10 @@ alterOrderList
     ;
 
 tableConstraintDef
-    : keyOrIndex indexNameAndType? keyListWithExpression indexOption*
+    : keyOrIndex indexName? indexTypeClause? keyListWithExpression indexOption*
     | FULLTEXT keyOrIndex? indexName? keyListWithExpression fulltextIndexOption*
     | SPATIAL keyOrIndex? indexName? keyListWithExpression commonIndexOption*
-    | constraintClause? (PRIMARY KEY | UNIQUE keyOrIndex?) indexNameAndType? keyListWithExpression indexOption*
+    | constraintClause? (PRIMARY KEY | UNIQUE keyOrIndex?) indexName? indexTypeClause? keyListWithExpression indexOption*
     | constraintClause? FOREIGN KEY indexName? keyParts referenceDefinition
     | constraintClause? checkConstraint (constraintEnforcement)?
     ;
@@ -475,10 +475,6 @@ referenceOption
     : RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT
     ;
 
-indexNameAndType
-    : indexName indexTypeClause?
-    ;
-
 indexType
     : BTREE | RTREE | HASH
     ;
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
index 2aab795..b8d2033 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-mysql/src/main/java/org/apache/shardingsphere/sql/parser/mysql/visitor/statement/impl/MySQLDDLStatementSQLVisitor.java
@@ -488,8 +488,8 @@ public final class MySQLDDLStatementSQLVisitor extends MySQLStatementSQLVisitor
         }
         if (null != ctx.UNIQUE()) {
             result.getIndexColumns().addAll(getKeyColumnsFromKeyListWithExpression(ctx.keyListWithExpression()));
-            if (null != ctx.indexNameAndType()) {
-                result.setIndexName((IndexSegment) visit(ctx.indexNameAndType().indexName()));
+            if (null != ctx.indexName()) {
+                result.setIndexName((IndexSegment) visit(ctx.indexName()));
             }
             return result;
         }
@@ -500,8 +500,8 @@ public final class MySQLDDLStatementSQLVisitor extends MySQLStatementSQLVisitor
         if (null != ctx.indexName()) {
             result.setIndexName((IndexSegment) visit(ctx.indexName()));
         }
-        if (null != ctx.indexNameAndType()) {
-            result.setIndexName((IndexSegment) visit(ctx.indexNameAndType().indexName()));
+        if (null != ctx.indexName()) {
+            result.setIndexName((IndexSegment) visit(ctx.indexName()));
         }
         return result;
     }
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select.xml
index d281f93..9d01eac 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/select.xml
@@ -3283,6 +3283,16 @@
         </from>
     </select>
 
+    <select sql-case-id="select_with_assignment_operator_and_keyword">
+        <projections start-index="7" stop-index="29">
+            <expression-projection text="@KEY := ''" start-index="7" stop-index="16" />
+            <expression-projection text="@num := 123" start-index="19" stop-index="29" />
+        </projections>
+        <from>
+            <simple-table name="t_order" start-index="36" stop-index="42" />
+        </from>
+    </select>
+
     <select sql-case-id="select_from_dual" >
         <projections start-index="7" stop-index="7">
             <expression-projection text="1" start-index="7" stop-index="7" />
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select.xml
index 8a6ca75..350c48d 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/select.xml
@@ -83,6 +83,7 @@
     <sql-case id="select_with_jsonb_path_contain_any_value" value="SELECT content_json::jsonb @?'$.keyword[*]?(@==&quot;ss&quot;)' FROM tb_content_json" db-types="PostgreSQL,openGauss" />
     <sql-case id="select_with_jsonb_path_predicate_check" value="SELECT content_json::jsonb@@'$.keyword[*]==&quot;ss&quot;' FROM tb_content_json" db-types="PostgreSQL,openGauss" />
     <sql-case id="select_with_assignment_operator" value="SELECT @rn := 1, @now_code := '' FROM t_order" db-types="MySQL" />
+    <sql-case id="select_with_assignment_operator_and_keyword" value="SELECT @KEY := '', @num := 123 FROM t_order" db-types="MySQL" />
     <sql-case id="select_from_dual" value="SELECT 1 FROM DUAL" db-types="MySQL" />
     <sql-case id="select_with_cast_as_signed" value="SELECT user_id,CAST(order_id AS SIGNED) FROM t_order" db-types="MySQL"/>
     <sql-case id="select_with_cast_as_unsigned" value="SELECT CAST(order_id AS UNSIGNED),user_id FROM t_order" db-types="MySQL"/>
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/unsupported/unsupported.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/unsupported/unsupported.xml
index 8449ea9..c662a29 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/unsupported/unsupported.xml
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/unsupported/unsupported.xml
@@ -283,8 +283,6 @@
     <sql-case id="create_by_mysql_source_test_case369" value="CREATE TABLE t(i INT, b VARCHAR(20) DEFAULT (repeat(&apos;b&apos;, i)))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case370" value="CREATE TABLE t0 ( skip INT, locked INT, nowait INT )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case371" value="CREATE TABLE t1 ( a int ) PARTITION BY RANGE (a) ( PARTITION p0 VALUES LESS THAN (1), PARTITION p1 VALU ES LESS THAN (2) )" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case372" value="CREATE TABLE t1 ( a int not null default 0, b int not null default 0,  key  using BTREE (a,b),  key  using BTREE (b)  ) ENGINE=HEAP" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case373" value="CREATE TABLE t1 ( a int not null default 0, b int not null default 0,  key  using HASH (a),  key  using HASH (b)  ) ENGINE=HEAP" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case374" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by list (a+b) ( partition x1 ( subpartition x11 values in (0), subpartition x12 values in (1)), partition x2 ( subpartition x21 values in (0), subpartition x22 values in (1)) )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case375" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by key (a) subpartition by list (a+b) ( partition x1 ( subpartition x11, subpartition x12), partition x2 ( subpartition x21, subpartition x22) )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case376" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by list (a) subpartition by hash (a+b) ( partition x1 values in (1) ( subpartition x11 nodegroup 0, subpartition xextra, subpartition x12 nodegroup 1), partition x2 values in (2) ( subpartition x21 nodegroup 0, subpartition x22 nodegroup 1) )" db-types="MySQL"/>
@@ -299,14 +297,10 @@
     <sql-case id="create_by_mysql_source_test_case385" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by key (a+2) partitions 3 (partition x1 tablespace ts1, partition x2 tablespace ts2, partition x3 tablespace ts3)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case386" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values in 4, partition x2 values in (5))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case387" value="CREATE TABLE t1 ( a int not null, b int not null, c int not null, primary key(a,b)) partition by list (a) partitions 2 (partition x1 values less than 4, partition x2 values less than (5))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case388" value="CREATE TABLE t1 ( c1 CHAR(3), c2 INTEGER, KEY USING BTREE(c1), KEY USING BTREE(c2) ) ENGINE= MEMORY" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case389" value="CREATE TABLE t1 ( c1 ENUM(&apos;1&apos;, &apos;2&apos;), UNIQUE USING BTREE(c1) ) ENGINE= MEMORY DEFAULT CHARSET= utf8" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case390" value="CREATE TABLE t1 ( c1 SET(&apos;1&apos;, &apos;2&apos;), UNIQUE USING BTREE(c1) ) ENGINE= MEMORY DEFAULT CHARSET= utf8" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case391" value="CREATE TABLE t1 ( col_int_key INTEGER, col_json JSON, KEY mv_idx ((CAST(col_json-&gt;&apos;$[*]&apos; AS CHAR(40) ARRAY))) )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case392" value="CREATE TABLE t1 ( col_int_key INTEGER, col_json JSON, KEY mv_idx ((CAST(col_json-&gt;&apos;$[*]&apos; AS CHAR(40) ARRAY))) )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case393" value="CREATE TABLE t1 ( f1 CHAR(20) COLLATE utf8mb4_0900_ai_ci  # A NO PAD collation. )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case394" value="CREATE TABLE t1 ( json_col JSON , KEY json_col ((CAST(json_col -&gt; &apos;$&apos; AS UNSIGNED ARRAY))) )" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case395" value="CREATE TABLE t1 ( pk INT PRIMARY KEY, val INT, UNIQUE KEY USING HASH(val) ) ENGINE=MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case397" value="CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case398" value="CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case399" value="CREATE TABLE t1 (a DATE) PARTITION BY HASH (EXTRACT(DAY_MINUTE FROM a))" db-types="MySQL"/>
@@ -330,7 +324,6 @@
     <sql-case id="create_by_mysql_source_test_case417" value="CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case418" value="CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case419" value="CREATE TABLE t1 (a DATETIME) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case420" value="CREATE TABLE t1 (a INT NOT NULL,b INT NOT NULL, PRIMARY KEY USING BTREE (a)) ENGINE=MYISAM COMMENT=&quot;TESTING&quot; PACK_KEYS=1 DELAY_KEY_WRITE=1 STATS_PERSISTENT=1 CHECKSUM=1 MIN_ROWS=1 MAX_ROWS=100" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case421" value="CREATE TABLE t1 (a INT) /*!50100 PARTITION BY HASH (a) /* Test of multi-line comment */ PARTITIONS 5 */" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case422" value="CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case423" value="CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(DAY_MICROSECOND FROM a))" db-types="MySQL"/>
@@ -343,8 +336,6 @@
     <sql-case id="create_by_mysql_source_test_case430" value="CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(MINUTE_SECOND FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case431" value="CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(SECOND_MICROSECOND FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case432" value="CREATE TABLE t1 (a INT) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case433" value="CREATE TABLE t1 (a INT, KEY USING BTREE(a)) ENGINE=MEMORY" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case434" value="CREATE TABLE t1 (a INT, UNIQUE USING BTREE(a)) ENGINE=MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case435" value="CREATE TABLE t1 (a INT, b TIMESTAMP DEFAULT (TIMESTAMPADD(MINUTE, 1,&apos;2003-01-02&apos;)) ON UPDATE NOW())" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case436" value="CREATE TABLE t1 (a TIME(-1))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case437" value="CREATE TABLE t1 (a TIME) PARTITION BY HASH (EXTRACT(DAY_HOUR FROM a))" db-types="MySQL"/>
@@ -372,15 +363,11 @@
     <sql-case id="create_by_mysql_source_test_case459" value="CREATE TABLE t1 (a VARCHAR(10)) PARTITION BY HASH (EXTRACT(YEAR_MONTH FROM a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case460" value="CREATE TABLE t1 (a datetime, b datetime DEFAULT (utc_date()))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case461" value="CREATE TABLE t1 (a datetime, b datetime DEFAULT (utc_time()))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case462" value="CREATE TABLE t1 (a int not null, primary key using BTREE (a)) engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case463" value="CREATE TABLE t1 (a int not null, primary key using HASH (a)) engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case464" value="CREATE TABLE t1 (a int, b int, c int, key using BTREE (a, b, c)) engine=heap" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case465" value="CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE (TO_DAYS(c)) (PARTITION p0 VALUES LESS THAN (10000), PARTITION p1 VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case466" value="CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE (UNIX_TIMESTAMP(c)) (PARTITION p0 VALUES LESS THAN (&apos;2000-01-01 00:00:00&apos;), PARTITION p1 VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case467" value="CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE (UNIX_TIMESTAMP(c)) (PARTITION p0 VALUES LESS THAN (UNIX_TIMESTAMP(&apos;2000-01-01 00:00:00&apos;)), PARTITION p1 VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case468" value="CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE (c) (PARTITION p0 VALUES LESS THAN (&apos;2000-01-01 00:00:00&apos;), PARTITION p1 VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case469" value="CREATE TABLE t1 (c TIMESTAMP) PARTITION BY RANGE COLUMNS(c) (PARTITION p0 VALUES LESS THAN (&apos;2000-01-01 00:00:00&apos;), PARTITION p1 VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case470" value="CREATE TABLE t1 (c1 INT, c2 INT, PRIMARY KEY USING BTREE (c1,c2)) PARTITION BY KEY(c2,c1) PARTITIONS 4" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case471" value="CREATE TABLE t1 (c1 YEAR(4294967295))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case472" value="CREATE TABLE t1 (c1 YEAR(4294967296))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case473" value="CREATE TABLE t1 (created DATETIME NOT NULL DEFAULT (UTC_DATE()))" db-types="MySQL"/>
@@ -400,10 +387,6 @@
     <sql-case id="create_by_mysql_source_test_case487" value="CREATE TABLE t1 (f1 INT, f2 INT PRIMARY KEY INVISIBLE)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case488" value="CREATE TABLE t1 (g GEOMCOLLECTION)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case489" value="CREATE TABLE t1 (get INT)" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case490" value="CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MEMORY" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case491" value="CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case492" value="CREATE TABLE t1 (i int, KEY USING BTREE (i)) ENGINE=MyISAM" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case493" value="CREATE TABLE t1 (i int, KEY USING HASH (i)) ENGINE=MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case494" value="CREATE TABLE t1 (user_num BIGINT, hours SMALLINT, KEY user_num (user_num)) ENGINE = InnoDB PARTITION BY RANGE COLUMNS (hours) (PARTITION hour_003 VALUES LESS THAN (3), PARTITION hour_004 VALUES LESS THAN (4), PARTITION hour_005 VALUES LESS THAN (5), PARTITION hour_last VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case495" value="CREATE TABLE t1 AS SELECT CONCAT(CURRENT_TIME()), CONCAT(CURRENT_TIME(6)), CONCAT(UTC_TIME()), CONCAT(UTC_TIME(6)), CONCAT(CURRENT_TIMESTAMP()), CONCAT(CURRENT_TIMESTAMP(6)), CONCAT(UTC_TIMESTAMP()), CONCAT(UTC_TIMESTAMP(6)), CONCAT(LOCALTIME()), CONCAT(LOCALTIME(6)), CONCAT(LOCALTIMESTAMP()), CONCAT(LOCALTIMESTAMP(6)), CONCAT(SYSDATE()), CONCAT(SYSDATE(6))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case496" value="CREATE TABLE t1 AS SELECT REPEAT (&apos; &apos;, 10) AS a LIMIT 0" db-types="MySQL"/>
@@ -429,17 +412,11 @@
     <sql-case id="create_by_mysql_source_test_case516" value="CREATE TABLE t1 charset utf8mb4 SELECT SUBSTRING(&apos;1&apos;, DAY(FROM_UNIXTIME(-1))) AS f1, LEFT(&apos;1&apos;, DAY(FROM_UNIXTIME(-1))) AS f2, RIGHT(&apos;1&apos;, DAY(FROM_UNIXTIME(-1))) AS f3, REPEAT(&apos;1&apos;, DAY(FROM_UNIXTIME(-1))) AS f4, RPAD(&apos;hi&apos;, DAY(FROM_UNIXTIME(-1)),&apos;?&apos;) AS f5, LPAD(&apos;hi&apos;, DAY(FROM_UNIXTIME(-1)),&apos;?&apos;) AS f6" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case517" value="CREATE TABLE t1( a TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE NOW(), b INT DEFAULT 1 )" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case518" value="CREATE TABLE t1( a TIMESTAMP NOT NULL DEFAULT NOW(), b INT )" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case519" value="CREATE TABLE t1( id INT AUTO_INCREMENT PRIMARY KEY, c1 INT NOT NULL, c2 INT NOT NULL, UNIQUE KEY USING BTREE (c2,c1)) ENGINE = MEMORY" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case520" value="CREATE TABLE t1( id INT AUTO_INCREMENT PRIMARY KEY, c1 INT NOT NULL, c2 INT NOT NULL, UNIQUE KEY USING HASH (c2,c1)) ENGINE = MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case521" value="CREATE TABLE t1(a DATETIME NOT NULL DEFAULT NOW(), b INT)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case522" value="CREATE TABLE t1(a DATETIME NOT NULL DEFAULT NOW(), b INT)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case523" value="CREATE TABLE t1(a DATETIME) PARTITION BY HASH (EXTRACT(HOUR_MICROSECOND FROM a))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case524" value="CREATE TABLE t1(a INT, KEY USING BTREE (a)) ENGINE=MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case525" value="CREATE TABLE t1(a INT, b DATE NOT NULL INVISIBLE) PARTITION BY RANGE( YEAR(b) ) ( PARTITION p0 VALUES LESS THAN (1960), PARTITION p1 VALUES LESS THAN (1970), PARTITION p2 VALUES LESS THAN (1980), PARTITION p3 VALUES LESS THAN (1990))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case526" value="CREATE TABLE t1(c1 INT, c2 INT, CONSTRAINT FLOAT CHECK (c2 &lt; 10))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case527" value="CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1) USING HASH) ENGINE=MEMORY" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case528" value="CREATE TABLE t1(c1 VARCHAR(33), KEY USING BTREE (c1))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case529" value="CREATE TABLE t1(c1 VARCHAR(33), KEY USING HASH (c1) USING BTREE) ENGINE=MEMORY" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case530" value="CREATE TABLE t1(col1 MULTIPOLYGON NOT NULL, SPATIAL INDEX USING BTREE (col1))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case531" value="CREATE TABLE t1(f1 INT INVISIBLE, f2 INT)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case532" value="CREATE TABLE t1(f1 INT INVISIBLE, f2 INT, f3 INT AS (f1 + 10), f4 INT AS (f2 + 10) INVISIBLE)" db-types="MySQL"/>
@@ -470,9 +447,7 @@
     <sql-case id="create_by_mysql_source_test_case557" value="CREATE TABLE t1(id INT PRIMARY KEY NOT NULL INVISIBLE, name VARCHAR(40)) PARTITION BY KEY() PARTITIONS 4" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case558" value="CREATE TABLE t1(id INT) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (100), PARTITION pmax VALUES LESS THAN (MAXVALUE))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case559" value="CREATE TABLE t1(j json, INDEX mv_idx((CAST(j AS UNSIGNED ARRAY))))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case560" value="CREATE TABLE t1(val INT, KEY USING BTREE(val)) ENGINE=memory" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case561" value="CREATE TABLE t1(x INT, KEY `` ((x + 1)))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case564" value="CREATE TABLE t2 (a INT NOT NULL,b INT NOT NULL, PRIMARY KEY USING BTREE (a)) ENGINE=MYISAM COMMENT=&quot;TESTING&quot; PACK_KEYS=0 DELAY_KEY_WRITE=1 STATS_PERSISTENT=1 CHECKSUM=1 MIN_ROWS=1 MAX_ROWS=100" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case565" value="CREATE TABLE t2 (a INT, b INT DEFAULT (select * from t1))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case566" value="CREATE TABLE t2 (a INT, b INT DEFAULT (select 1))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case567" value="CREATE TABLE t2 (a INT, b INT DEFAULT (select count(*) from t1))" db-types="MySQL"/>
@@ -904,7 +879,6 @@
     <sql-case id="create_by_mysql_source_test_case1201" value="create procedure proc_33618_h(num int) begin declare count1 int default &apos;0&apos;; declare vb varchar(30); declare last_row int; while(num&gt;=1) do set num=num-1; begin declare cur1 cursor for select `a` from t_33618; declare continue handler for not found set last_row = 1; set last_row:=0; open cur1; rep1: repeat begin declare exit handler for 1062 begin end; fetch cur1 into vb; if (last_row = 1) then leave rep1; end if [...]
     <sql-case id="create_by_mysql_source_test_case1202" value="create procedure proc_bug19733() begin declare v int default 0; while v &lt; 100 do create index i on t3 (s1); drop index i on t3; set v = v + 1; end while; end" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1208" value="create procedure solver(initial_leftm varchar(200), initial_rightm varchar(200)) begin declare initial_leftm_j  json; declare initial_rightm_j json; set initial_leftm_j  = cast(initial_leftm as json), initial_rightm_j = cast(initial_rightm as json); with recursive number_of_lines (value) as (select json_length(initial_rightm_j)), number_of_columns (value) as (select json_length(json_extract(initial_leftm_j,&quot;$[0]&quot;))) [...]
-    <sql-case id="create_by_mysql_source_test_case1212" value="create procedure sudoku_solve(p_naive boolean, p_all boolean) deterministic modifies sql data begin drop temporary table if exists sudoku_work, sudoku_schedule; create temporary table sudoku_work ( `row` smallint not null, col smallint not null, dig smallint not null, cnt smallint, key using btree (cnt), key using btree (`row`), key using btree (col), unique key using hash (`row`,col) ); create temporary table sudoku_schedule [...]
     <sql-case id="create_by_mysql_source_test_case1213" value="create procedure syntaxerror(t int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1214" value="create procedure syntaxerror(t int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1215" value="create procedure syntaxerror(t int)" db-types="MySQL"/>
@@ -933,22 +907,13 @@
     <sql-case id="create_by_mysql_source_test_case1246" value="create table t (i)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1247" value="create table t1 ( a int not null references t2, b int not null references t2 (c), primary key (a,b), foreign key (a) references t3 match full, foreign key (a) references t3 match partial, foreign key (a,b) references t3 (c,d) on delete no action on update no action, foreign key (a,b) references t3 (c,d) on update cascade, foreign key (a,b) references t3 (c,d) on delete set default, foreign key (a,b) references t3 (c,d) on upd [...]
     <sql-case id="create_by_mysql_source_test_case1248" value="create table t1 ( a int not null, b int not null, c int not null, primary key (a,b)) partition by range (a) subpartition by hash (a+b) ( partition x1 values less than (1) ( subpartition x11 nodegroup 0, subpartition x12 nodegroup 1), partition x2 values less than (5) ( subpartition x21 nodegroup 0, subpartition x22 nodegroup 1), partition x3 values less than (10) ( subpartition x31 max_rows=50, subpartition x32 nodegroup 1) ) [...]
-    <sql-case id="create_by_mysql_source_test_case1249" value="create table t1 ( c1 int NOT NULL, c2 int NOT NULL, PRIMARY KEY USING HASH (c1), INDEX USING BTREE(c2) )" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1250" value="create table t1 ( dummyKey INTEGER NOT NULL AUTO_INCREMENT, a001 TINYINT, a010 TINYINT, a012 TINYINT, a015 TINYINT, a016 TINYINT, a017 TINYINT, a019 TINYINT, a029 TINYINT, a030 TINYINT, a031 TINYINT, a032 TINYINT, a042 TINYINT, a043 TINYINT, a044 TINYINT, a3001 TINYINT, a3002 TINYINT, a3003 TINYINT, a3004 TINYINT, a3005 TINYINT, a3021 TINYINT, a3022 TINYINT, a BIT(6), b BIT(6), c BIT(6), d TINYINT, e TINYINT, f TINYINT, g TIN [...]
     <sql-case id="create_by_mysql_source_test_case1251" value="create table t1 ( min_num   dec(6,6)     default .000001)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1252" value="create table t1 ( min_num   dec(6,6)     default .000001)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1253" value="create table t1 ( min_num   dec(6,6)     default 0.000001)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1254" value="create table t1 (,b int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1255" value="create table t1 (`` int)" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1256" value="create table t1 (a char(10), unique using btree (a)) charset latin1 engine=heap" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1257" value="create table t1 (a int not null, key `a` key_block_size=1024 (a))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1258" value="create table t1 (a int not null, key key_block_size=1024 (a))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1259" value="create table t1 (a int not null,b int not null, primary key using BTREE (a)) engine=heap comment=&quot;testing heaps&quot;" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1260" value="create table t1 (a int not null,b int not null, primary key using BTREE (a)) engine=heap comment=&quot;testing heaps&quot;" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1261" value="create table t1 (a int not null,b int not null, primary key using BTREE (a)) engine=heap comment=&quot;testing heaps&quot; avg_row_length=100 min_rows=1 max_rows=100" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1262" value="create table t1 (a int not null,b int not null, primary key using HASH (a)) engine=heap comment=&quot;testing heaps&quot;" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1263" value="create table t1 (a int not null,b int not null, primary key using HASH (a)) engine=heap comment=&quot;testing heaps&quot;" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1264" value="create table t1 (a int not null,b int not null, primary key using HASH (a)) engine=heap comment=&quot;testing heaps&quot; avg_row_length=100 min_rows=1 max_rows=100" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1265" value="create table t1 (a int) partition by key(a) partitions -1" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1266" value="create table t1 (a int) partition by key(a) partitions 0.2+e1" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1267" value="create table t1 (a int) partition by range (a) ( partition p0 values less than (NULL), partition p1 values less than (MAXVALUE))" db-types="MySQL"/>
@@ -968,30 +933,17 @@
     <sql-case id="create_by_mysql_source_test_case1281" value="create table t1 (a int,,b int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1282" value="create table t1 (a timestamp default now())" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1283" value="create table t1 (b int4 unsigned not null)" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1284" value="create table t1 (btn char(10) not null, key using BTREE (btn)) charset utf8mb4 engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1285" value="create table t1 (btn char(10) not null, key using HASH (btn)) charset utf8mb4 engine=heap" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1286" value="create table t1 (c national character varying(10))" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1287" value="create table t1 (i int, index `` (i))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1288" value="create table t1 (id int unsigned not null, primary key  using BTREE (id)) engine=HEAP" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1289" value="create table t1 (id int unsigned not null, primary key  using HASH (id)) engine=HEAP" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1290" value="create table t1 (id int) partition by range (id) (partition p0 values less than (1000), partition p1 values less than (maxvalue))" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1291" value="create table t1 (k int, index (k), index using hash (k)) engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1292" value="create table t1 (k int, index using btree (k)) charset utf8mb4 engine=innodb" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1293" value="create table t1 (k int, index using btree (k), index (k)) engine=innodb" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1294" value="create table t1 (k int, index using btree (k), index using hash (k)) engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1295" value="create table t1 (k int, index using btree (k), index using hash (k)) engine=innodb" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1296" value="create table t1 (k int, index using hash (k)) charset utf8mb4 engine=heap" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1298" value="create table t1 (t1 timestamp not null default &apos;2003-01-01 00:00:00&apos; on update now(), t2 datetime)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1299" value="create table t1 (t1 timestamp not null default now() on update now(), t2 datetime)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1300" value="create table t1 (t1 timestamp not null default now(), t2 datetime, t3 timestamp NOT NULL DEFAULT &apos;0000-00-00 00:00:00&apos;)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1301" value="create table t1 (t6 timestamp) type=myisam" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1302" value="create table t1 (v varchar(10), c char(10), t varchar(50), key using btree (v), key using btree (c), key using btree (t(10))) charset latin1" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1303" value="create table t1 charset latin1 select bin(130), oct(130), conv(130,16,10), hex(130), char(130), format(130,10), left(_latin2&apos;a&apos;,1), right(_latin2&apos;a&apos;,1), lcase(_latin2&apos;a&apos;), ucase(_latin2&apos;a&apos;), substring(_latin2&apos;a&apos;,1,1), concat(_latin2&apos;a&apos;,_latin2&apos;b&apos;), lpad(_latin2&apos;a&apos;,4,_latin2&apos;b&apos;), rpad(_latin2&apos;a&apos;,4,_latin2&apos;b&apos;), concat_w [...]
     <sql-case id="create_by_mysql_source_test_case1304" value="create table t1 charset latin1 select weight_string(repeat(&apos;t&apos;,66000)) as w" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1305" value="create table t1 select null as c00, if(1, null, &apos;string&apos;) as c01, if(0, null, &apos;string&apos;) as c02, ifnull(null, &apos;string&apos;) as c03, ifnull(&apos;string&apos;, null) as c04, case when 0 then null else &apos;string&apos; end as c05, case when 1 then null else &apos;string&apos; end as c06, coalesce(null, &apos;string&apos;) as c07, coalesce(&apos;string&apos;, null) as c08, least(&apos;string&apos;,null [...]
     <sql-case id="create_by_mysql_source_test_case1306" value="create table t1( bool_col bool, boolean_col boolean, bit_col bit(5), tiny tinyint, tiny_uns tinyint unsigned, small smallint, small_uns smallint unsigned, medium mediumint, medium_uns mediumint unsigned, int_col int, int_col_uns int unsigned, big bigint, big_uns bigint unsigned, decimal_col decimal(10,5), numeric_col numeric(10), fixed_col fixed(10), dec_col dec(10), decimal_col_uns decimal(10,5) unsigned, fcol float, fcol_un [...]
-    <sql-case id="create_by_mysql_source_test_case1307" value="create table t1(a int not null, key using btree(a)) engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1308" value="create table t1(a varchar(255), b varchar(255), key using btree (a,b)) engine=memory" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1309" value="create table t1(column.name int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1310" value="create table t1(t1.name int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1311" value="create table t1(test.column.name int)" db-types="MySQL"/>
@@ -1018,10 +970,6 @@
     <sql-case id="create_by_mysql_source_test_case1332" value="create table test_reserved (condition int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1333" value="create table test_reserved (resignal int)" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1334" value="create table test_reserved (signal int)" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1335" value="create table th (k int, index using btree (k)) charset utf8mb4 engine=heap" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1336" value="create table ti (k int, index using btree (k)) charset utf8mb4 engine=innodb" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1337" value="create table ti (k int, index using hash (k)) charset utf8mb4 engine=innodb" db-types="MySQL"/>
-    <sql-case id="create_by_mysql_source_test_case1338" value="create table tm (k int, index using btree (k)) charset utf8mb4 engine=myisam" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1342" value="create tablespace ndb_ts1 add datafile &apos;ndb_ts1.dat&apos; use logfile group ndb_lg1 engine=myisam" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1343" value="create tablespace ndb_ts1 add datafile &apos;ndb_ts1.dat&apos; use logfile group ndb_lg1 engine=myisam" db-types="MySQL"/>
     <sql-case id="create_by_mysql_source_test_case1344" value="create tablespace ndb_ts1 add datafile &apos;ndb_ts1.dat&apos; use logfile group ndb_lg1 engine=myisam initial_size=32M" db-types="MySQL"/>
@@ -3942,19 +3890,7 @@
     <sql-case id="low_abcd_by_mysql_source_test_case1" value="abcd CREATE TABLE t1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name TINYBLOB NOT NULL, modified TIMESTAMP DEFAULT &apos;0000-00-00 00:00:00&apos;, INDEX namelocs (name(255))) ENGINE = InnoDB PARTITION BY HASH(id) PARTITIONS 2" db-types="MySQL"/>
     <sql-case id="low_alter_by_mysql_source_test_case1" value="alter event e_43 do alter event e_43 do set @a = 4" db-types="MySQL"/>
     <sql-case id="low_alter_by_mysql_source_test_case2" value="alter event e_43 do begin alter event e_43 on schedule every 5 minute; insert into test_nested values(1); end" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case3" value="alter table t1 add c int not null, add key using BTREE (c,a)" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case4" value="alter table t1 add c int not null, add key using HASH (c,a)" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case5" value="alter table t1 add column new_col char(1) not null, add key using BTREE (btn,new_col), drop key btn" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case6" value="alter table t1 add column new_col char(1) not null, add key using HASH (btn,new_col), drop key btn" db-types="MySQL"/>
     <sql-case id="low_alter_by_mysql_source_test_case7" value="alter table t1 add partition (partition p1 values in (maxvalue, maxvalue))" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case8" value="alter table t1 drop key k, add index using btree (k), algorithm=copy" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case9" value="alter table t1 drop key k, add index using btree (k), algorithm=inplace" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case10" value="alter table t1 drop key k, add index using btree (k), algorithm=inplace" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case11" value="alter table t1 drop key k, add index using hash (k), algorithm=inplace" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case12" value="alter table th add column l int, add index using hash (l)" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case13" value="alter table ti add column l int, add index using btree (l)" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case14" value="alter table ti add column l int, add index using hash (l)" db-types="MySQL"/>
-    <sql-case id="low_alter_by_mysql_source_test_case15" value="alter table tm add column l int, add index using btree (l)" db-types="MySQL"/>
     <sql-case id="low_analyze_by_mysql_source_test_case1" value="analyze table t1 extended" db-types="MySQL"/>
     <sql-case id="low_begin_by_mysql_source_test_case1" value="begin work" db-types="MySQL"/>
     <sql-case id="low_begin_by_mysql_source_test_case2" value="begin work" db-types="MySQL"/>