You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by du...@apache.org on 2022/06/20 00:50:08 UTC

[shardingsphere] branch master updated: add SQL parser for MySQL DO statement. (#18378)

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

duanzhengqiang 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 498951d2bf7 add SQL parser for MySQL DO statement. (#18378)
498951d2bf7 is described below

commit 498951d2bf76b801299e01660a42c77173def74d
Author: Zonglei Dong <do...@apache.org>
AuthorDate: Mon Jun 20 08:49:55 2022 +0800

    add SQL parser for MySQL DO statement. (#18378)
    
    * add SQL parser for MySQL DO statement.
    
    * fix code import style.
    
    * add test case for MySQL DO statement.
    
    * add test case for MySQL DO statement.
---
 .../infra/binder/SQLStatementContextFactory.java   |   5 +
 .../binder/statement/dml/DoStatementContext.java   |  14 +-
 .../text/data/DatabaseBackendHandlerFactory.java   |   4 +
 .../impl/MySQLDMLStatementSQLVisitor.java          |   4 +-
 .../core/database/visitor/SQLVisitorRule.java      |   4 +-
 .../statement/mysql/dml/MySQLDoStatement.java      |  11 +
 .../asserts/statement/dml/DMLStatementAssert.java  |   5 +
 .../statement/dml/impl/DoStatementAssert.java      |  72 +++
 .../jaxb/cases/domain/SQLParserTestCases.java      |   5 +
 .../impl/dostatement/ExpectedDoParameter.java      |  44 ++
 .../impl/dostatement/ExpectedDoParameters.java     |  22 +-
 .../domain/statement/dml/DoStatementTestCase.java  |  21 +-
 .../src/main/resources/case/dml/do.xml             |  78 +++
 .../src/main/resources/sql/supported/dml/do.xml    |  27 ++
 .../main/resources/sql/unsupported/unsupported.xml | 537 ---------------------
 15 files changed, 294 insertions(+), 559 deletions(-)

diff --git a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
index a0ee1111de0..bab01186672 100644
--- a/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
+++ b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/SQLStatementContextFactory.java
@@ -56,6 +56,7 @@ import org.apache.shardingsphere.infra.binder.statement.ddl.TruncateStatementCon
 import org.apache.shardingsphere.infra.binder.statement.dml.CallStatementContext;
 import org.apache.shardingsphere.infra.binder.statement.dml.CopyStatementContext;
 import org.apache.shardingsphere.infra.binder.statement.dml.DeleteStatementContext;
+import org.apache.shardingsphere.infra.binder.statement.dml.DoStatementContext;
 import org.apache.shardingsphere.infra.binder.statement.dml.InsertStatementContext;
 import org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;
 import org.apache.shardingsphere.infra.binder.statement.dml.UpdateStatementContext;
@@ -90,6 +91,7 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CallStateme
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CopyStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DMLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DeleteStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.UpdateStatement;
@@ -172,6 +174,9 @@ public final class SQLStatementContextFactory {
         if (sqlStatement instanceof CopyStatement) {
             return new CopyStatementContext((CopyStatement) sqlStatement);
         }
+        if (sqlStatement instanceof DoStatement) {
+            return new DoStatementContext((DoStatement) sqlStatement);
+        }
         throw new UnsupportedOperationException(String.format("Unsupported SQL statement `%s`", sqlStatement.getClass().getSimpleName()));
     }
     
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
similarity index 71%
copy from shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
copy to shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
index 4ed87ae440c..fba06c17bff 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
+++ b/shardingsphere-infra/shardingsphere-infra-binder/src/main/java/org/apache/shardingsphere/infra/binder/statement/dml/DoStatementContext.java
@@ -15,15 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml;
+package org.apache.shardingsphere.infra.binder.statement.dml;
 
-import lombok.ToString;
+import org.apache.shardingsphere.infra.binder.statement.CommonSQLStatementContext;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
-import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
 /**
- * MySQL do statement.
+ * Do statement context.
  */
-@ToString
-public final class MySQLDoStatement extends DoStatement implements MySQLStatement {
+public final class DoStatementContext extends CommonSQLStatementContext<DoStatement> {
+    
+    public DoStatementContext(final DoStatement sqlStatement) {
+        super(sqlStatement);
+    }
 }
diff --git a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
index 0cd3a43f60e..8f63caeb80d 100644
--- a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
+++ b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/data/DatabaseBackendHandlerFactory.java
@@ -27,6 +27,7 @@ import org.apache.shardingsphere.proxy.backend.text.data.impl.UnicastDatabaseBac
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dal.SetStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
 
 /**
@@ -45,6 +46,9 @@ public final class DatabaseBackendHandlerFactory {
      */
     public static DatabaseBackendHandler newInstance(final SQLStatementContext<?> sqlStatementContext, final String sql, final ConnectionSession connectionSession) {
         SQLStatement sqlStatement = sqlStatementContext.getSqlStatement();
+        if (sqlStatement instanceof DoStatement) {
+            return new UnicastDatabaseBackendHandler(sqlStatementContext, sql, connectionSession);
+        }
         if (sqlStatement instanceof SetStatement) {
             return new BroadcastDatabaseBackendHandler(sqlStatementContext, sql, connectionSession);
         }
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/MySQLDMLStatementSQLVisitor.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/MySQLDMLStatementSQLVisitor.java
index 1d44635580a..d2ba08ddfa9 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/MySQLDMLStatementSQLVisitor.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/MySQLDMLStatementSQLVisitor.java
@@ -50,6 +50,8 @@ public final class MySQLDMLStatementSQLVisitor extends MySQLStatementSQLVisitor
     
     @Override
     public ASTNode visitDoStatement(final DoStatementContext ctx) {
-        return new MySQLDoStatement();
+        List<ExpressionSegment> parameters = new ArrayList<>();
+        ctx.expr().forEach(each -> parameters.add((ExpressionSegment) visit(each)));
+        return new MySQLDoStatement(parameters);
     }
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
index 92bb3b98a27..8a69e042c18 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/core/database/visitor/SQLVisitorRule.java
@@ -570,7 +570,9 @@ public enum SQLVisitorRule {
     
     CLUSTER("Cluster", SQLStatementType.DDL),
     
-    CREATE_ACCESS_METHOD("CreateAccessMethod", SQLStatementType.DDL);
+    CREATE_ACCESS_METHOD("CreateAccessMethod", SQLStatementType.DDL),
+    
+    DO("DoStatement", SQLStatementType.DML);
     
     private final String name;
     
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
index 4ed87ae440c..12d0f58e25f 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
+++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
@@ -17,13 +17,24 @@
 
 package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml;
 
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
 import lombok.ToString;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
 
+import java.util.List;
+
 /**
  * MySQL do statement.
  */
 @ToString
+@AllArgsConstructor
+@NoArgsConstructor
+@Getter
 public final class MySQLDoStatement extends DoStatement implements MySQLStatement {
+    
+    private List<ExpressionSegment> parameters;
 }
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/DMLStatementAssert.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/DMLStatementAssert.java
index 154e904653b..8ee94c5be31 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/DMLStatementAssert.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/DMLStatementAssert.java
@@ -23,6 +23,7 @@ import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CallStateme
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.CopyStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DMLStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DeleteStatement;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.InsertStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.MergeStatement;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
@@ -31,6 +32,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAs
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.CallStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.CopyStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.DeleteStatementAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.DoStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.InsertStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.MergeStatementAssert;
 import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl.SelectStatementAssert;
@@ -39,6 +41,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.CallStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.CopyStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DeleteStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DoStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.InsertStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.MergeStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.SelectStatementTestCase;
@@ -72,6 +75,8 @@ public final class DMLStatementAssert {
             CallStatementAssert.assertIs(assertContext, (CallStatement) actual, (CallStatementTestCase) expected);
         } else if (actual instanceof CopyStatement) {
             CopyStatementAssert.assertIs(assertContext, (CopyStatement) actual, (CopyStatementTestCase) expected);
+        } else if (actual instanceof DoStatement) {
+            DoStatementAssert.assertIs(assertContext, (DoStatement) actual, (DoStatementTestCase) expected);
         }
     }
 }
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/impl/DoStatementAssert.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/impl/DoStatementAssert.java
new file mode 100644
index 00000000000..293cfec0b78
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dml/impl/DoStatementAssert.java
@@ -0,0 +1,72 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dml.impl;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.complex.CommonExpressionSegment;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.LiteralExpressionSegment;
+import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.simple.ParameterMarkerExpressionSegment;
+import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
+import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml.MySQLDoStatement;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
+import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.segment.expression.ExpressionAssert;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.dostatement.ExpectedDoParameter;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DoStatementTestCase;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Do statement assert.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class DoStatementAssert {
+    
+    /**
+     * Assert do statement is correct with expected parser result.
+     *
+     * @param assertContext assert context
+     * @param actual actual do statement
+     * @param expected expected do statement test case
+     */
+    public static void assertIs(final SQLCaseAssertContext assertContext, final DoStatement actual, final DoStatementTestCase expected) {
+        if (actual instanceof MySQLDoStatement) {
+            MySQLDoStatement actualStatement = (MySQLDoStatement) actual;
+            if (null != actualStatement.getParameters() && null != expected.getDoParameters()) {
+                assertThat(assertContext.getText("Do parameters assertion error: "), actualStatement.getParameters().size(), is(expected.getDoParameters().getParameters().size()));
+                int count = 0;
+                for (ExpressionSegment each : actualStatement.getParameters()) {
+                    assertParameter(assertContext, each, expected.getDoParameters().getParameters().get(count));
+                    count++;
+                }
+            }
+        }
+    }
+    
+    private static void assertParameter(final SQLCaseAssertContext assertContext, final ExpressionSegment actual, final ExpectedDoParameter expected) {
+        if (actual instanceof ParameterMarkerExpressionSegment) {
+            ExpressionAssert.assertParameterMarkerExpression(assertContext, (ParameterMarkerExpressionSegment) actual, expected.getParameterMarkerExpression());
+        } else if (actual instanceof LiteralExpressionSegment) {
+            ExpressionAssert.assertLiteralExpression(assertContext, (LiteralExpressionSegment) actual, expected.getLiteralExpression());
+        } else if (actual instanceof CommonExpressionSegment) {
+            ExpressionAssert.assertCommonExpression(assertContext, (CommonExpressionSegment) actual, expected.getCommonExpression());
+        }
+    }
+}
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
index 386e9dc1f93..0747d3bb17f 100644
--- a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/SQLParserTestCases.java
@@ -361,6 +361,7 @@ import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.CheckpointStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.CopyStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DeleteStatementTestCase;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.DoStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.InsertStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.MergeStatementTestCase;
 import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml.SelectStatementTestCase;
@@ -755,6 +756,9 @@ public final class SQLParserTestCases {
     @XmlElement(name = "call")
     private final List<CallStatementTestCase> callProcedureTestCases = new LinkedList<>();
     
+    @XmlElement(name = "do")
+    private final List<DoStatementTestCase> doTestCases = new LinkedList<>();
+    
     @XmlElement(name = "copy")
     private final List<CopyStatementTestCase> copyTestCases = new LinkedList<>();
     
@@ -1575,6 +1579,7 @@ public final class SQLParserTestCases {
         putAll(dropGroupTestCases, result);
         putAll(dropDatabaseTestCases, result);
         putAll(callProcedureTestCases, result);
+        putAll(doTestCases, result);
         putAll(copyTestCases, result);
         putAll(xaTestCases, result);
         putAll(mergeTestCases, result);
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameter.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameter.java
new file mode 100644
index 00000000000..9be6520a86e
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameter.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.dostatement;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedSQLSegment;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr.complex.ExpectedCommonExpression;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr.simple.ExpectedLiteralExpression;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.expr.simple.ExpectedParameterMarkerExpression;
+
+import javax.xml.bind.annotation.XmlElement;
+
+/**
+ * Expected do parameter.
+ */
+@Getter
+@Setter
+public final class ExpectedDoParameter extends AbstractExpectedSQLSegment {
+    
+    @XmlElement(name = "parameter-marker-expression")
+    private ExpectedParameterMarkerExpression parameterMarkerExpression;
+    
+    @XmlElement(name = "literal-expression")
+    private ExpectedLiteralExpression literalExpression;
+    
+    @XmlElement(name = "common-expression")
+    private ExpectedCommonExpression commonExpression;
+}
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameters.java
similarity index 57%
copy from shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
copy to shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameters.java
index 4ed87ae440c..5d26ccf248d 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/dostatement/ExpectedDoParameters.java
@@ -15,15 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml;
+package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.dostatement;
 
-import lombok.ToString;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
-import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedSQLSegment;
+
+import javax.xml.bind.annotation.XmlElement;
+import java.util.LinkedList;
+import java.util.List;
 
 /**
- * MySQL do statement.
+ * Expected do parameters.
  */
-@ToString
-public final class MySQLDoStatement extends DoStatement implements MySQLStatement {
+@Getter
+@Setter
+public final class ExpectedDoParameters extends AbstractExpectedSQLSegment {
+    
+    @XmlElement(name = "parameter")
+    private List<ExpectedDoParameter> parameters = new LinkedList<>();
 }
diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dml/DoStatementTestCase.java
similarity index 56%
copy from shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
copy to shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dml/DoStatementTestCase.java
index 4ed87ae440c..aed32fbc50a 100644
--- a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dml/MySQLDoStatement.java
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dml/DoStatementTestCase.java
@@ -15,15 +15,22 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dml;
+package org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dml;
 
-import lombok.ToString;
-import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.DoStatement;
-import org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.dostatement.ExpectedDoParameters;
+import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
+
+import javax.xml.bind.annotation.XmlElement;
 
 /**
- * MySQL do statement.
+ * Do statement test case.
  */
-@ToString
-public final class MySQLDoStatement extends DoStatement implements MySQLStatement {
+@Getter
+@Setter
+public final class DoStatementTestCase extends SQLParserTestCase {
+    
+    @XmlElement(name = "parameters")
+    private ExpectedDoParameters doParameters;
 }
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/do.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/do.xml
new file mode 100644
index 00000000000..a3d9ac06728
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dml/do.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-parser-test-cases>
+    <do sql-case-id="do_constant">
+        <parameters>
+            <parameter>
+                <literal-expression value="1" start-index="3" stop-index="3"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_sleep">
+        <parameters>
+            <parameter>
+                <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_multiple_sleep">
+        <parameters>
+            <parameter>
+                <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
+            </parameter>
+            <parameter>
+                <literal-expression value="SLEEP(2)" start-index="13" stop-index="20"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_with_function_1">
+        <parameters>
+            <parameter>
+                <literal-expression value="FROM_BASE64(CAST((MID(UUID(),20,64)) AS BINARY(55)))" start-index="3" stop-index="54"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_with_function_2">
+        <parameters>
+            <parameter>
+                <literal-expression value="FROM_BASE64(CAST(RIGHT(11,1)AS BINARY(24)))" start-index="3" stop-index="45"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_with_function_3">
+        <parameters>
+            <parameter>
+                <literal-expression value="COUNT(DISTINCT ROUND(CAST(SLEEP(0) AS DECIMAL), NULL))" start-index="3" stop-index="56"/>
+            </parameter>
+        </parameters>
+    </do>
+
+    <do sql-case-id="do_with_crc32_function">
+        <parameters>
+            <parameter>
+                <literal-expression value="CRC32(CHAR(1.134475E+308))" start-index="3" stop-index="28"/>
+            </parameter>
+        </parameters>
+    </do>
+</sql-parser-test-cases>
diff --git a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/do.xml b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/do.xml
new file mode 100644
index 00000000000..a1148208e00
--- /dev/null
+++ b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dml/do.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<sql-cases>
+    <sql-case id="do_constant" value="DO 1" db-types="MySQL" />
+    <sql-case id="do_sleep" value="DO SLEEP(1)" db-types="MySQL" />
+    <sql-case id="do_multiple_sleep" value="DO SLEEP(1), SLEEP(2)" db-types="MySQL" />
+    <sql-case id="do_with_function_1" value="DO FROM_BASE64(CAST((MID(UUID(),20,64)) AS BINARY(55)))" db-types="MySQL" />
+    <sql-case id="do_with_function_2" value="DO FROM_BASE64(CAST(RIGHT(11,1)AS BINARY(24)))" db-types="MySQL" />
+    <sql-case id="do_with_function_3" value="DO COUNT(DISTINCT ROUND(CAST(SLEEP(0) AS DECIMAL), NULL))" db-types="MySQL" />
+    <sql-case id="do_with_crc32_function" value="DO CRC32(CHAR(1.134475E+308))" db-types="MySQL" />
+</sql-cases>
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 cb1b1d6fde8..2bb06a73fd3 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
@@ -2270,485 +2270,6 @@
     <sql-case id="check_by_mysql_source_test_case2" value="CHECK TABLES t1" db-types="MySQL" />
     <sql-case id="close_by_mysql_source_test_case1" value="CLOSE cur1" db-types="MySQL" />
     <sql-case id="declare_by_mysql_source_test_case1" value="DECLARE cur1 CURSOR FOR SHOW TABLES" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case1" value="DO  STR_TO_DATE((&apos;&apos;), FROM_DAYS(@@GLOBAL.SQL_MODE))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case2" value="DO &apos;1&apos; regexp repeat(&apos;$&apos;, 50000000)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case3" value="DO ( (&apos;&apos;) rlike (cot ( &apos; %&apos; )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case4" value="DO ( (&apos;-  &apos;) regexp (cot ( right (&apos;:#.&apos;, 33) )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case5" value="DO ( (( @f )) rlike (json_depth ( &apos;key4&apos; )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case6" value="DO ( (-28277) regexp (period_add ( -10966, 1381205734 )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case7" value="DO ( (1) regexp (exp ( 64826 )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case8" value="DO ( (25091) rlike (exp ( 14373 )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case9" value="DO ( (@b) regexp (cot (unhex ( 1 )) ) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case10" value="DO ( (@b) regexp (exp ( 0x1fc5574c )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case11" value="DO ( (@c) rlike (cot ( (!( @f )) )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case12" value="DO ( (@g) regexp (cot ( @f )) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case13" value="DO (!(SECOND(0xb16beeb7)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case14" value="DO (((NOT(1)))^(HOUR(MONTHNAME(LEAD(DATABASE(),89)OVER()))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case15" value="DO ((@c := (_utf32&apos; -&apos;))) SOUNDS LIKE(@c)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case16" value="DO ((CAST((LEAD(NULL,152) OVER()) AS TIME))*(1))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case17" value="DO ((CONVERT((VARIANCE(-18951))USING CP866)) &lt;= (JSON_ARRAY(LEAD(CAST((35184372088833)AS DATETIME),126)OVER())))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case18" value="DO ((JSON_TYPE(&apos;4:8&apos;)) AND (((ROLES_GRAPHML()) LIKE (FIRST_VALUE(31543) RESPECT NULLS OVER()))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case19" value="DO ((LAG(LAST_DAY(&quot;]&lt;$*_#[DB!^+ : 3&quot;),89) OVER (RANGE UNBOUNDED PRECEDING)) &gt; (CONVERT((&quot;1985-10-19 03:36:29.304455&quot; - INTERVAL(0x1446C5A2627FB06D88DC63D66B36DF) DAY_MICROSECOND) USING BIG5)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case20" value="DO (SELECT @x:= b FROM t1 WHERE a = 5 or a = 1 ORDER BY b LIMIT 1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case21" value="DO (SELECT @x:= b FROM t1 WHERE a = 5)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case22" value="DO (SELECT COUNT(*) FROM t1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case23" value="DO (SELECT DISTINCT SQL_BIG_RESULT ST_SIMPLIFY(POINT(a,1),1) FROM t)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case24" value="DO (SELECT ST_ASBINARY(r.p) FROM d INNER JOIN dp ON d.id = dp.d_id INNER JOIN r ON d.r_id = r.id ORDER BY d.i)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case25" value="DO (SELECT a FROM t1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case26" value="DO (~(SUM(@f)OVER()))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case27" value="DO 1 regexp (multilinestring(point(1,1)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case28" value="DO 1 rlike multilinestring(point(1, 1))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case29" value="DO AVG((SELECT POINT(@x, POINT(115, 219)) IS NULL))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case30" value="DO AVG((SELECT POINT(@x, POINT(115, 219)) IS NULL)) OVER ()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case31" value="DO BIT_LENGTH(AVG(@f)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case32" value="DO CAST((LAG(-16520,156) OVER()) AS TIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case33" value="DO CAST((LAG(POLYGON( LINESTRING( POINT(4099,17421), POINT(22259,-5875.0796), POINT(30179,6542), POINT(12331,-18840)), LINESTRING( POINT( 8162.2539,-29332), POINT(24157,-23393), POINT(268435459,-26835), POINT(3.933871E+307,-25808)), LINESTRING( POINT(30360,-1049), POINT(15405,5.816757E+307), POINT( 3717.3555,1.599730E+308), POINT(-23002,-19077))), 70) OVER()) AS DATETIME )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case34" value="DO CAST((LAG(SHA(STDDEV(&apos;-0E%_&apos;)),224) OVER()) AS TIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case35" value="DO CAST((LAG(_UJIS &apos;8CA} &apos;,144) OVER()) AS TIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case36" value="DO CAST((LEAD(-197994311,60)OVER())AS DATETIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case37" value="DO CAST((LEAD(-6011,202) OVER()) AS TIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case38" value="DO CAST((LEAD(0x45,104) OVER())AS TIME)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case39" value="DO COMPRESS(SUM(&apos; &gt;&apos;)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case40" value="DO CONCAT_WS( JSON_OBJECTAGG( ROW_COUNT(), BIT_COUNT(-23163)), DEGREES((1.595545e+308)), REPEAT(FIRST_VALUE(&apos;%0&apos;) OVER(), 30))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case41" value="DO CONVERT( NULLIF( @a , &apos;c&apos; ) USING BINARY)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case42" value="DO COUNT(DISTINCT ROUND(CAST(SLEEP(0) AS DECIMAL), NULL))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case43" value="DO DATEDIFF(UUID_TO_BIN(UUID()), 0x32df2ce8)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case44" value="DO DAYOFYEAR(((MBRDISJOINT(0xbc,1))OR(WEEK(SEC_TO_TIME(419824656)))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case45" value="DO DAYOFYEAR(LAG(&apos;] .| /= &apos;,63) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case46" value="DO DAYOFYEAR(LEAD(-6653420797178186265 ,29)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case47" value="DO DAYOFYEAR(LEAD(ROW_COUNT(),177)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case48" value="DO DAYOFYEAR(MAKETIME(&apos;1981-06-27 11:16:09.211343&apos;, (((NOT(ST_DISTANCE_SPHERE(POINT(4472,28027), POINT(28061,-9007199254740996),-644021130))))&lt;=&gt;(@c)),(1)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case49" value="DO DAYOFYEAR(MAKETIME(((0x965a)^((@g :=(1 IS NULL)))), EXP(39988664861.65638662152600787509), ((STD(@f))LIKE(1))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case50" value="DO DAYOFYEAR(MAKETIME(ROUND(-23797,&apos;6588-01-08&apos;), COERCIBILITY(BIT_COUNT(RTRIM((~( INET6_NTOA(0xa04810f0839d318fa075bd)))))), ((ST_ASWKT(1))OR(1))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case51" value="DO DAYOFYEAR(SEC_TO_TIME((~(((RELEASE_ALL_LOCKS())-((1)))))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case52" value="DO DAYOFYEAR(SEC_TO_TIME(OCT(BIT_AND(JSON_REPLACE((23533),&apos;key3&apos;,NULL)))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case53" value="DO GREATEST(RIGHT(@a,1),1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case54" value="DO GROUP_CONCAT(DISTINCT NULLIF(1, PERIOD_ADD(0x6f09c5f8 ,&apos;7451-01-27&apos;)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case55" value="DO GROUP_CONCAT(NULLIF(ELT(1, @e), POINT(250,41)) ORDER BY 1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case56" value="DO IFNULL((DAYNAME(LEAD(STDDEV(@F),162) OVER())),(0xD73E))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case57" value="DO IFNULL((NULL ),(UNIX_TIMESTAMP(LEAD(NULL,12)RESPECT NULLS OVER())))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case58" value="DO INSERT(1, 1, 1, CAST(1 AS DECIMAL(1,3)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case59" value="DO INSERT(regexp_instr(1, &apos;[&apos;), 0, 1, &apos;&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case60" value="DO INSERT(regexp_like(1, &apos;[&apos;), 0, 1, &apos;&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case61" value="DO INSERT(regexp_replace(1, &apos;[&apos;, 42), 0, 1, &apos;&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case62" value="DO IS_IPV4(TIMESTAMP(LAG(-19131 ,188) OVER(),@F))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case63" value="DO IS_UUID(SUM(@e)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case64" value="DO LAG(1, 18446744073709551615) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case65" value="DO LAG(1, 9223372036854775807) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case66" value="DO LAG(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case67" value="DO LAG(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case68" value="DO LAG(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case69" value="DO LAG(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case70" value="DO LAG(1, @v) OVER(), @v:=20" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case71" value="DO LAST_DAY(LAG(&apos;*&apos;,36)RESPECT NULLS OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case72" value="DO LAST_DAY(LAG(NULL,113) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case73" value="DO LAST_DAY(LEAD( _CP932 &apos;&apos;,241)OVER(RANGE UNBOUNDED PRECEDING))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case74" value="DO LAST_DAY(LEAD(-2201 ,98)RESPECT NULLS OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case75" value="DO LAST_DAY(SQRT(CAST((LAG(REPEAT(&apos;B&apos;,64),91)OVER())AS DATETIME)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case76" value="DO LEAD(1, 18446744073709551615) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case77" value="DO LEAD(1, 9223372036854775807) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case78" value="DO LEAD(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case79" value="DO LEAD(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case80" value="DO LEAD(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case81" value="DO LEAD(1, @v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case82" value="DO LEAD(1, @v) OVER(), @v:=20" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case83" value="DO LEAST(RIGHT(@a,1),1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case84" value="DO LTRIM(AVG(LOG2(@c))OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case85" value="DO MBRContains(1, if(0, coalesce(NULL), now()))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case86" value="DO MBRWITHIN(@centroid_point, ST_INTERSECTION(ST_GEOMFROMTEXT(&apos;MULTILINESTRING((541 -927,-414 316,-429 -444,212 260,-125 104,445 563,-713 -975,-976 514),(-830 882,-377 914,-915 919,-535 -23,-508 979),(806 347,-87 220,226 -22,-12 468,707 598,83 951,-592 701,833 964,270 -932,743 -514,231 469,-575 -122,-99 -245,416 465,801 -587))&apos;), ST_GEOMFROMTEXT(&apos;LINESTRING(-96 -182,-373 75,697 687,-881 -463,-557 -959,-493 810)&apos; [...]
-    <sql-case id="do_by_mysql_source_test_case87" value="DO MBRWITHIN(@centroid_point, ST_INTERSECTION(ST_GEOMFROMTEXT(&apos;MULTILINESTRING((541 -927,-414 316,-429 -444,212 260,-125 104,445 563,-713 -975,-976 514),(-830 882,-377 914,-915 919,-535 -23,-508 979),(806 347,-87 220,226 -22,-12 468,707 598,83 951,-592 701,833 964,270 -932,743 -514,231 469,-575 -122,-99 -245,416 465,801 -587))&apos;), ST_GEOMFROMTEXT(&apos;LINESTRING(-96 -182,-373 75,697 687,-881 -463,-557 -959,-493 810)&apos; [...]
-    <sql-case id="do_by_mysql_source_test_case88" value="DO MONTHNAME(LAG(&apos; =&apos;,74) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case89" value="DO MONTHNAME(LEAD(CHARSET(CONVERT((MOD(CURTIME(4),STDDEV(NULL)))USING CP850)),12) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case90" value="DO NOT CAST(UTC_TIME AS CHAR(2877246026) CHARACTER SET ujis)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case91" value="DO NTILE(18446744073709551615) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case92" value="DO NTILE(9223372036854775807) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case93" value="DO NTILE(@undefined) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case94" value="DO NTILE(@v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case95" value="DO NTILE(@v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case96" value="DO NTILE(@v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case97" value="DO NTILE(@v) OVER()" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case98" value="DO NTILE(@v) OVER(), @v:=20" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case99" value="DO NULLIF((GREATEST(FROM_UNIXTIME(1537024679) , _utf32 &quot;*b!&quot; )), (FROM_UNIXTIME(1537013301) ) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case100" value="DO NULLIF(CAST(DATABASE() AS DATE), 1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case101" value="DO NULLIF(CAST(DATABASE() AS DATETIME), 1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case102" value="DO NULLIF(CAST(DATABASE() AS TIME), 1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case103" value="DO OCT(-9223372036854775808)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case104" value="DO OCTET_LENGTH(((LAST_DAY(LEAD(-28178,163)OVER()))OR(COLLATION(@E))))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case105" value="DO POW(-8714,REPEAT(&apos;1&apos;,32)) OR VALIDATE_PASSWORD_STRENGTH(LAST_VALUE(1) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case106" value="DO REPEAT(LAST_INSERT_ID(&apos;&apos;), 0x96e4ed7e70a7fec7f11572c8980a)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case107" value="DO REPEAT(LAST_INSERT_ID(&apos;&apos;), 4294967295)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case108" value="DO REPLACE((( RELEASE_LOCK( ACOS(0x41))) OR (1)), LAST_VALUE(9.750062e+306) RESPECT NULLS OVER(), UUID_SHORT())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case109" value="DO REPLACE(CONVERT(1 USING utf32),BIT_XOR(1),SHA1(@d))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case110" value="DO ROUND(0xe9b1, NULL)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case111" value="DO SHA(BIN(MONTHNAME(LEAD(UNCOMPRESSED_LENGTH(SHA1(&quot;&quot;)),224)OVER())))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case112" value="DO ST_ASTEXT(ST_UNION(ST_GEOMFROMTEXT(&apos;GEOMETRYCOLLECTION(POLYGON((4 -10,-3 0,-5 6,9 9,5 7,9 -6,9 -10,7 9,0 -4,-6 10,0 -3,9 3, 4 -10)), GEOMETRYCOLLECTION(), GEOMETRYCOLLECTION(MULTIPOLYGON(((-8 0,-2 -6,-10 -9,-9 7,-2 -10,7 -9,3 -6,-5 -8,-10 -7,-6 10,4 -10,-7 -8,6 -1, -8 0)),((-4 -3,7 -10,-4 -1,-10 -3,3 -3,-10 -4,-1 2,-2 -10,6 -7,-9 -8, -4 -3))), POINT(5 0), MULTIPOINT(-3 0,-4 -8,-3 -4,10 4,0 7,-7 2,4 -8,1 -6), MULTILINESTRIN [...]
-    <sql-case id="do_by_mysql_source_test_case113" value="DO ST_ASTEXT(ST_UNION(ST_GEOMFROMTEXT(&apos;POLYGON((525000 183300,525400 183300,525400 18370, 525000 183700,525000 183300))&apos;), ST_GeomFromText(&apos;POLYGON((525298.67 183511.53,525296.57 183510.39,525296.42 183510.31,525289.11 183506.62,525283.17 183503.47,525280.98 183502.26,525278.63 183500.97,525278.39 183500.84,525276.79 183500,525260.7 183491.55,525263.95 183484.75,525265.58 183481.95,525278.97 183488.73,525276.5 18349 [...]
-    <sql-case id="do_by_mysql_source_test_case114" value="DO ST_ASTEXT(ST_UNION(ST_INTERSECTION(ST_GEOMFROMTEXT(&apos;MULTIPOINT(7 2,-4 -5,6 -9,-7 3,-10 5,8 -6,0 -10,10 -4,8 -10,2 6,8 -4,-8 2,-4 2)&apos;), ST_GEOMFROMTEXT(&apos;MULTIPOLYGON(((6 2,1 1,-4 5,1 4,-3 -4,-7 9,-10 2,-6 1,10 -7,0 1,9 4, 6 2)))&apos;)), ST_UNION(ST_GEOMFROMTEXT(&apos;LINESTRING(-1 -5,0 -6,4 6,3 3,2 8,-2 6,-4 5,6 -7,-1 -1,-8 6,4 -2)&apos;), ST_GEOMFROMTEXT(&apos;MULTIPOLYGON(((5 -4,-5 -9,-1 -6,-3 0,5 -2, 5 -4)),(( [...]
-    <sql-case id="do_by_mysql_source_test_case115" value="DO ST_ASWKB(JSON_UNQUOTE(JSON_SET(&apos;{&quot;a&quot;:&quot;&quot;}&apos;, &apos;$&apos;, &apos;&apos;)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case116" value="DO ST_AsText(@centroid_point) as centroid" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case117" value="DO ST_AsText(@centroid_point) as centroid" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case118" value="DO ST_CROSSES(@g,SUM(SHA(@g))OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case119" value="DO ST_EXTERIORRING(x&apos;000000000107000000010000000101000000000000000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case120" value="DO ST_EXTERIORRING(x&apos;000000000107000000010000000102000000000000000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case121" value="DO ST_EXTERIORRING(x&apos;000000000107000000010000000103000000000000000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case122" value="DO ST_EXTERIORRING(x&apos;00000000010700000001000000010400000001000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case123" value="DO ST_EXTERIORRING(x&apos;00000000010700000001000000010500000001000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case124" value="DO ST_EXTERIORRING(x&apos;00000000010700000001000000010600000001000000&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case125" value="DO ST_GEOMCOLLFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case126" value="DO ST_GEOMCOLLFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case127" value="DO ST_GEOMCOLLFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case128" value="DO ST_GEOMCOLLFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case129" value="DO ST_GEOMCOLLFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case130" value="DO ST_GEOMCOLLFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case131" value="DO ST_GEOMCOLLFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case132" value="DO ST_GEOMCOLLFROMTXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case133" value="DO ST_GEOMCOLLFROMTXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case134" value="DO ST_GEOMCOLLFROMTXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case135" value="DO ST_GEOMCOLLFROMTXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case136" value="DO ST_GEOMCOLLFROMTXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case137" value="DO ST_GEOMCOLLFROMTXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case138" value="DO ST_GEOMCOLLFROMTXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case139" value="DO ST_GEOMCOLLFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case140" value="DO ST_GEOMCOLLFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case141" value="DO ST_GEOMCOLLFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case142" value="DO ST_GEOMCOLLFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case143" value="DO ST_GEOMCOLLFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case144" value="DO ST_GEOMCOLLFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case145" value="DO ST_GEOMCOLLFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case146" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case147" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case148" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case149" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case150" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case151" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case152" value="DO ST_GEOMCOLLFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case153" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case154" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case155" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case156" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case157" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case158" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case159" value="DO ST_GEOMETRYCOLLECTIONFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case160" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case161" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case162" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case163" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case164" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case165" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case166" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case167" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case168" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case169" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case170" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case171" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case172" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case173" value="DO ST_GEOMETRYCOLLECTIONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case174" value="DO ST_GEOMETRYFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case175" value="DO ST_GEOMETRYFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case176" value="DO ST_GEOMETRYFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case177" value="DO ST_GEOMETRYFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case178" value="DO ST_GEOMETRYFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case179" value="DO ST_GEOMETRYFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case180" value="DO ST_GEOMETRYFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case181" value="DO ST_GEOMETRYFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case182" value="DO ST_GEOMETRYFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case183" value="DO ST_GEOMETRYFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case184" value="DO ST_GEOMETRYFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case185" value="DO ST_GEOMETRYFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case186" value="DO ST_GEOMETRYFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case187" value="DO ST_GEOMETRYFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case188" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case189" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case190" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case191" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case192" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case193" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case194" value="DO ST_GEOMETRYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case195" value="DO ST_GEOMFROMTEXT(&apos;GEOMCOLLECTION(POINT(0 0))&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case196" value="DO ST_GEOMFROMTEXT(&apos;GEOMETRYCOLLECTION(POINT(0 0))&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case197" value="DO ST_GEOMFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case198" value="DO ST_GEOMFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case199" value="DO ST_GEOMFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case200" value="DO ST_GEOMFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case201" value="DO ST_GEOMFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case202" value="DO ST_GEOMFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case203" value="DO ST_GEOMFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case204" value="DO ST_GEOMFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case205" value="DO ST_GEOMFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case206" value="DO ST_GEOMFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case207" value="DO ST_GEOMFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case208" value="DO ST_GEOMFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case209" value="DO ST_GEOMFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case210" value="DO ST_GEOMFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case211" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case212" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case213" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case214" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case215" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case216" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case217" value="DO ST_GEOMFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case218" value="DO ST_ISVALID(INSTR(9223372036854775806 ,0x46bc299f))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case219" value="DO ST_LINEFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case220" value="DO ST_LINEFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case221" value="DO ST_LINEFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case222" value="DO ST_LINEFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case223" value="DO ST_LINEFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case224" value="DO ST_LINEFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case225" value="DO ST_LINEFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case226" value="DO ST_LINEFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case227" value="DO ST_LINEFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case228" value="DO ST_LINEFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case229" value="DO ST_LINEFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case230" value="DO ST_LINEFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case231" value="DO ST_LINEFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case232" value="DO ST_LINEFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case233" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case234" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case235" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case236" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case237" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case238" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case239" value="DO ST_LINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case240" value="DO ST_LINESTRINGFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case241" value="DO ST_LINESTRINGFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case242" value="DO ST_LINESTRINGFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case243" value="DO ST_LINESTRINGFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case244" value="DO ST_LINESTRINGFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case245" value="DO ST_LINESTRINGFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case246" value="DO ST_LINESTRINGFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case247" value="DO ST_LINESTRINGFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case248" value="DO ST_LINESTRINGFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case249" value="DO ST_LINESTRINGFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case250" value="DO ST_LINESTRINGFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case251" value="DO ST_LINESTRINGFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case252" value="DO ST_LINESTRINGFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case253" value="DO ST_LINESTRINGFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case254" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case255" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case256" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case257" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case258" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case259" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case260" value="DO ST_LINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case261" value="DO ST_MLINEFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case262" value="DO ST_MLINEFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case263" value="DO ST_MLINEFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case264" value="DO ST_MLINEFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case265" value="DO ST_MLINEFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case266" value="DO ST_MLINEFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case267" value="DO ST_MLINEFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case268" value="DO ST_MLINEFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case269" value="DO ST_MLINEFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case270" value="DO ST_MLINEFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case271" value="DO ST_MLINEFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case272" value="DO ST_MLINEFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case273" value="DO ST_MLINEFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case274" value="DO ST_MLINEFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case275" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case276" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case277" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case278" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case279" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case280" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case281" value="DO ST_MLINEFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case282" value="DO ST_MPOINTFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case283" value="DO ST_MPOINTFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case284" value="DO ST_MPOINTFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case285" value="DO ST_MPOINTFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case286" value="DO ST_MPOINTFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case287" value="DO ST_MPOINTFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case288" value="DO ST_MPOINTFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case289" value="DO ST_MPOINTFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case290" value="DO ST_MPOINTFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case291" value="DO ST_MPOINTFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case292" value="DO ST_MPOINTFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case293" value="DO ST_MPOINTFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case294" value="DO ST_MPOINTFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case295" value="DO ST_MPOINTFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case296" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case297" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case298" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case299" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case300" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case301" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case302" value="DO ST_MPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case303" value="DO ST_MPOLYFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case304" value="DO ST_MPOLYFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case305" value="DO ST_MPOLYFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case306" value="DO ST_MPOLYFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case307" value="DO ST_MPOLYFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case308" value="DO ST_MPOLYFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case309" value="DO ST_MPOLYFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case310" value="DO ST_MPOLYFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case311" value="DO ST_MPOLYFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case312" value="DO ST_MPOLYFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case313" value="DO ST_MPOLYFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case314" value="DO ST_MPOLYFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case315" value="DO ST_MPOLYFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case316" value="DO ST_MPOLYFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case317" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case318" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case319" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case320" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case321" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case322" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case323" value="DO ST_MPOLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case324" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case325" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case326" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case327" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case328" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case329" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case330" value="DO ST_MULTILINESTRINGFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case331" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case332" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case333" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case334" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case335" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case336" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case337" value="DO ST_MULTILINESTRINGFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case338" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case339" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case340" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case341" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case342" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case343" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case344" value="DO ST_MULTILINESTRINGFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case345" value="DO ST_MULTIPOINTFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case346" value="DO ST_MULTIPOINTFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case347" value="DO ST_MULTIPOINTFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case348" value="DO ST_MULTIPOINTFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case349" value="DO ST_MULTIPOINTFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case350" value="DO ST_MULTIPOINTFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case351" value="DO ST_MULTIPOINTFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case352" value="DO ST_MULTIPOINTFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case353" value="DO ST_MULTIPOINTFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case354" value="DO ST_MULTIPOINTFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case355" value="DO ST_MULTIPOINTFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case356" value="DO ST_MULTIPOINTFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case357" value="DO ST_MULTIPOINTFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case358" value="DO ST_MULTIPOINTFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case359" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case360" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case361" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case362" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case363" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case364" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case365" value="DO ST_MULTIPOINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case366" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case367" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case368" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case369" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case370" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case371" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case372" value="DO ST_MULTIPOLYGONFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case373" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case374" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case375" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case376" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case377" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case378" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case379" value="DO ST_MULTIPOLYGONFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case380" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case381" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case382" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case383" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case384" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case385" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case386" value="DO ST_MULTIPOLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case387" value="DO ST_OVERLAPS(ST_ASWKB(ST_ASBINARY(1,&apos;axis-order=lat-long&apos;), &apos;axis-order=srid-defined&apos;), ST_ASWKT(LAST_VALUE(&apos;*7&apos;) OVER()))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case388" value="DO ST_POINTFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case389" value="DO ST_POINTFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case390" value="DO ST_POINTFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case391" value="DO ST_POINTFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case392" value="DO ST_POINTFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case393" value="DO ST_POINTFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case394" value="DO ST_POINTFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case395" value="DO ST_POINTFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case396" value="DO ST_POINTFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case397" value="DO ST_POINTFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case398" value="DO ST_POINTFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case399" value="DO ST_POINTFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case400" value="DO ST_POINTFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case401" value="DO ST_POINTFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case402" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case403" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case404" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case405" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case406" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case407" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case408" value="DO ST_POINTFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case409" value="DO ST_POINTN(ST_ASWKT(ST_ASWKT(ST_ASWKB(6565))), ST_ASBINARY(LAST_VALUE(0xfd8b9af2bedb16c0d7f1cca63b5c9e) OVER()))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case410" value="DO ST_POLYFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case411" value="DO ST_POLYFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case412" value="DO ST_POLYFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case413" value="DO ST_POLYFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case414" value="DO ST_POLYFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case415" value="DO ST_POLYFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case416" value="DO ST_POLYFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case417" value="DO ST_POLYFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case418" value="DO ST_POLYFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case419" value="DO ST_POLYFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case420" value="DO ST_POLYFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case421" value="DO ST_POLYFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case422" value="DO ST_POLYFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case423" value="DO ST_POLYFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case424" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case425" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case426" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case427" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case428" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case429" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case430" value="DO ST_POLYFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case431" value="DO ST_POLYGONFROMTEXT(@wkt_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case432" value="DO ST_POLYGONFROMTEXT(@wkt_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case433" value="DO ST_POLYGONFROMTEXT(@wkt_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case434" value="DO ST_POLYGONFROMTEXT(@wkt_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case435" value="DO ST_POLYGONFROMTEXT(@wkt_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case436" value="DO ST_POLYGONFROMTEXT(@wkt_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case437" value="DO ST_POLYGONFROMTEXT(@wkt_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case438" value="DO ST_POLYGONFROMWKB(@wkb_gc)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case439" value="DO ST_POLYGONFROMWKB(@wkb_ls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case440" value="DO ST_POLYGONFROMWKB(@wkb_mls)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case441" value="DO ST_POLYGONFROMWKB(@wkb_mpt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case442" value="DO ST_POLYGONFROMWKB(@wkb_mpy)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case443" value="DO ST_POLYGONFROMWKB(@wkb_pt)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case444" value="DO ST_POLYGONFROMWKB(@wkb_py)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case445" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_gc)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case446" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_ls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case447" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mls)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case448" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case449" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_mpy)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case450" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_pt)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case451" value="DO ST_POLYGONFROMWKB(St_AsWKB(ST_GEOMFROMTEXT(@wkt_py)))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case452" value="DO ST_SRID(LOCATE(0x58ed0b8e,8,135))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case453" value="DO ST_WITHIN(ST_ASWKB(ST_ASBINARY(1,&apos;axis-order=srid-defined&apos;)), ST_ASWKT( ST_ASBINARY(LAST_VALUE(4732)OVER()),&apos;axis-order=srid-defined&apos;))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case454" value="DO SUBSTRING_INDEX(((((RADIANS(0xBD)) &amp;&amp; (ST_SRID(1, 4326)))) OR (COT(UUID_SHORT()))), FIRST_VALUE(ROW_COUNT())RESPECT NULLS OVER(), 171)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case455" value="DO TO_BASE64(AVG(@d)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case456" value="DO TO_DAYS(LEAD(((LOCATE(0xA812,0xE8DE))OR(@G)),148)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case457" value="DO TO_SECONDS(LAG(POINT(2.804466E+307,-2032),75) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case458" value="DO TRIM(-9223372036854775808) XOR &apos;.D-&apos;" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case459" value="DO UNHEX(-1)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case460" value="DO UNHEX(-182680438)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case461" value="DO UNHEX(-2251799813685249)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case462" value="DO UNHEX(SUM(@g)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case463" value="DO UNIX_TIMESTAMP( LAG(ROUND(((UTC_TIME()) OR ((NOT (INET6_ATON(IS_IPV4(((MAKETIME(-10966, 233, 2795.439453)) OR(MAKEDATE(-3030,19)))))))))), 140) OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case464" value="DO USER() in (COERCIBILITY(@c), CONVERT(LAST_VALUE(FROM_UNIXTIME(1536999169)) OVER() USING utf32))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case465" value="DO WEEK((DATE_ADD((CAST(0 AS DATE)), INTERVAL 1 YEAR_MONTH)), 5)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case466" value="DO WEEKOFYEAR(LAG(-16726 ,247)RESPECT NULLS OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case467" value="DO WEEKOFYEAR(LEAD((&apos;5183-10-18 06:15:35.076079&apos;)SOUNDS LIKE(0x9E335D89),68)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case468" value="DO YEARWEEK(LEAD(FOUND_ROWS(),250)OVER())" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case469" value="DO is_used_lock(ifnull(now(), CASE 1 WHEN 1 THEN NULL END))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case470" value="DO ltrim(weight_string(1))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case471" value="DO maketime(~0, 49, 0.123456789)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case472" value="DO round( concat( ( coalesce( ( ST_linefromwkb(&apos;2147483648&apos;, -b&apos;1111111111111111111111111111111111111111111&apos;)), ( convert(&apos;[.DC2.]&apos;,decimal(30,30)) ), bit_count(&apos;&apos;) ) ), ( lpad( ( elt(&apos;01&apos;,&apos;}:K5&apos;)), sha1(&apos;P&apos;), ( ( select &apos;-9223372036854775808.1&apos; &gt; all (select &apos;&apos;))) ) ) ) )" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case473" value="DO rtrim(weight_string(1))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case474" value="DO st_centroid(point(1,1)) IN (&apos;1&apos;,1,&apos;1&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case475" value="DO validate_password_strength(export_set(&apos;a&apos;,&apos;a&apos;,&apos;a&apos;,&apos;a&apos;,&apos;a&apos;))" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case476" value="DO version_tokens_lock_exclusive(&apos;vt3&apos;, &apos;vt5&apos;, &apos;vt1&apos;, 0)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case477" value="DO version_tokens_lock_exclusive(&apos;vt3&apos;, &apos;vt5&apos;, &apos;vt1&apos;, 4)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case478" value="DO version_tokens_set(&apos;vt1=11;vt2=22;vt3=33;vt4=44;vt5=55&apos;)" db-types="MySQL" />
-    <sql-case id="do_by_mysql_source_test_case479" value="DO version_tokens_unlock()" db-types="MySQL" />
     <sql-case id="explain_by_mysql_source_test_case1" value="EXPLAIN ANALYZE FOR CONNECTION 1" db-types="MySQL" />
     <sql-case id="explain_by_mysql_source_test_case2" value="EXPLAIN ANALYZE FORMAT=JSON SELECT 1" db-types="MySQL" />
     <sql-case id="explain_by_mysql_source_test_case3" value="EXPLAIN ANALYZE FORMAT=TRADITIONAL SELECT 1" db-types="MySQL" />
@@ -3554,64 +3075,6 @@
     <sql-case id="low_call_by_mysql_source_test_case205" value="call sys.create_synonym_db(&quot;INFORMATION_SCHEMA&quot;, &quot;I_S&quot;)" db-types="MySQL" />
     <sql-case id="low_call_by_mysql_source_test_case206" value="call test.longprocedure(@value); select @value" db-types="MySQL" />
     <sql-case id="low_default-character-set=koi8r_by_mysql_source_test_case1" value="default-character-set=koi8r default-collation=koi8r_bin let $MYSQLD_LOG= $MYSQLTEST_VARDIR/log/save_dd_upgrade_1.log" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case1" value="do ((-9223372036854775808)* ( 3273059463432352943))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case2" value="do ((3273059463432352943 )* (-9223372036854775808 ))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case3" value="do ((repeat(1,9223372036854775808))or(convert((0x6d5b5d8d)using dec8)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case4" value="do (is_ipv4_mapped(bin_to_uuid(@a:=34))) &lt;=&gt; (json_objectagg(&apos;key2&apos;,42 ) and rtrim(&quot;&quot;))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case5" value="do 1" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case6" value="do 1 div nullif(min(from_days(1)),_utf8mb4&apos;2000-01-01&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case7" value="do _cp852 &quot;&quot; &lt;= lcase(trim(leading 1 from 12222)) not between &apos;1&apos; and &apos;2&apos;" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case8" value="do char((weight_string(extractvalue((&apos;&apos;),(&apos;tX&apos;)))) using cp852)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case9" value="do concat(&apos;111&apos;,&apos;11111111111111111111111111&apos;, substring_index(uuid(),0,1.111111e+308))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case10" value="do concat(&apos;111&apos;,&apos;11111111111111111111111111&apos;, substring_index(uuid(),0,1.111111e+308))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case11" value="do concat(&apos;a&apos;,concat_ws(&apos;a&apos;, 0x2859, &apos;a&apos; , trim(period_add(&apos;a&apos;,1) from (1&amp;&apos;&apos;)) ) )" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case12" value="do concat(export_set(1,1,repeat(&apos;a&apos;,31),&apos; $&apos;,213))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case13" value="do concat_ws(&apos;,&apos;,&apos;111&apos;,&apos;11111111111111111111111111&apos;, substring_index(uuid(),0,1.111111e+308))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case14" value="do convert(inet_aton(cast(left(-1,1)as binary(30))) using utf8)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case15" value="do crc32(char(1.134475e+308))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case16" value="do date_add(utc_time(), interval(oct(-11779)) microsecond)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case17" value="do dayofmonth( ( not( trim( trailing( convert((&apos;&apos;), binary(4))) from( make_set( (&apos;&gt;&gt;&apos;), (&apos;`&apos;)))) )))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case18" value="do format(rpad(&apos;111111111.1&apos;, 1111111, &apos;999999999999999999999999999999999999999999&apos;),0,&apos;be_BY&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case19" value="do from_base64(aes_encrypt(right(cast((0x5d44f4d736397d92c8267c12)as decimal),1), rand(to_days(&apos;2028-12-04 15:50:01.284969&apos;))))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case20" value="do from_base64(cast((left(collation(4097),((repeat(&apos;1&apos;,32))or((-18772))))) as binary(40)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case21" value="do from_base64(cast((mid(17653,row(&apos;-688:20:12.162697&apos;,(null)) &gt;= row((&apos;*.)$&apos;),(0xc254b6)),1))as binary(34)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case22" value="do from_base64(cast((mid(uuid(),20,64)) as binary(55)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case23" value="do from_base64(cast(right(11,1)as binary(24)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case24" value="do ifnull((bin_to_uuid(uuid_to_bin(date_format(&apos;7088-02-14&apos; ,0xabbd95)))),(maketime(&apos;4678-07-20 03:51:44.174847&apos;,1,&apos;b&apos;)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case25" value="do inet_aton(aes_encrypt(left(@e,1),5))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case26" value="do insert(ltrim(from_unixtime(0,&apos; %T &apos;)), 2, 1, &apos;hi&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case27" value="do is_ipv4_mapped(bin(maketime(11111,exp(repeat(&apos;1&apos;,32)),&apos;&apos;)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case28" value="do lcase(ltrim(from_unixtime(0,&apos; %T &apos;)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case29" value="do null not between 1 and @undefined_var" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case30" value="do null not between @undefined_var and 1" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case31" value="do nullif( ( rtrim( make_set((cast((&apos;%S&apos;) as unsigned)), (point((0xaf),(&apos;&apos;)))) ) ), (&apos;&apos;))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case32" value="do nullif(1,&apos;-&apos; between lcase(right(11111111,&quot; 7,]&quot; ))and &apos;1&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case33" value="do quote(make_set((&apos;&apos;), (cast((&apos;-2147483649.1&apos;) as binary(513)))))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case34" value="do regexp_instr(0, &quot;^{18446744073709551616&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case35" value="do regexp_like(0, &quot;^{18446744073709551616&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case36" value="do repeat(row_count()  ,((-9223372036854775808 )&lt;&lt;(&apos;{ }&apos;  ))  )" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case37" value="do replace(ltrim(from_unixtime(0,&apos; %T &apos;)), &apos;0&apos;, &apos;1&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case38" value="do replace(ltrim(from_unixtime(0,&apos; %T &apos;)), &apos;0&apos;, &apos;1&apos;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case39" value="do rpad(_utf16&quot;33&quot;,1073741826,_latin1&quot;44&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case40" value="do soundex(maketime(cast((2530967061762658367) as decimal), exp(repeat(&apos;1&apos;,32)),((period_add(579349005,27636))xor (sha(current_user)))))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case41" value="do sqrt(weight_string(_eucjpms &quot;0E+&quot;))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case42" value="do st_buffer(point(-5,0),8772, st_buffer_strategy(&apos;point_circle&apos;,1024*1024*1024))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case43" value="do st_distance(linestring(point(26,87),point(13,95)), geometrycollection(point(4.297374e+307,8.433875e+307)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case44" value="do st_mlinefromtext( maketime( now(), instr(1,pow(15270551309908264860,100)), 31 ) )" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case45" value="do st_union(cast(point(1,1)as char(12)),point(1,1))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case46" value="do st_union(cast(point(1,1)as char(13)),point(1,1))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case47" value="do str_to_date(1, &quot;%#&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case48" value="do timestamp(date_format(&apos;2011-11-11&apos;, right(&quot;12345&quot; + 1, 3)))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case49" value="do trim( both(-8388607) from( make_set( ( extract( minute_second from ( str_to_date((rpad(1.0,4,1)), (&apos;&apos;))) ) ), ( char((connection_id()) using macce))) ) )" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case50" value="do ucase(insert(maketime(9.565398e+307 ,&apos;&apos;, st_longfromgeohash((&apos;4358-04-12 03:45:08.727399&apos;))), 0xdc0823,6756,release_all_locks()))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case51" value="do upper(right(198039009115594390000000000000000000000.000000,35))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case52" value="do upper(substring(1.111111111111111111 from &apos;2n&apos;))" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case53" value="do version_tokens_set(&quot;token1    =     def;; token111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111=123;;      ;invalid_token; token2= abc;;&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case54" value="do version_tokens_set(&quot;token1    =     def;;;;      ;invalid_token; token2= abc;;&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case55" value="do version_tokens_set(&quot;token1    =     none;;;;      ;invalid_token; token2= 123;;&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case56" value="do version_tokens_set(&quot;token1=def;token2= abc;          ;token3=ghi&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case57" value="do version_tokens_set(&quot;token1=def;token2= abc;token3=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112&quot;)" db-types="MySQL" />
-    <sql-case id="low_do_by_mysql_source_test_case58" value="do weight_string(extractvalue(&apos;&apos;,&apos;/*/a&apos;))" db-types="MySQL" />
     <sql-case id="low_drop_by_mysql_source_test_case1" value="drop function `f``1`" db-types="MySQL" />
     <sql-case id="low_drop_by_mysql_source_test_case3" value="drop table BIT_XOR" db-types="MySQL" />
     <sql-case id="low_drop_by_mysql_source_test_case4" value="drop table ```a`" db-types="MySQL" />