This is an automated email from the ASF dual-hosted git repository.
panjuan 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 376d959 add MySQL install plugin statement (#13008)
376d959 is described below
commit 376d959cd76a3edb6410f526aff806b97c0974cc
Author: Thanoshan MV <[email protected]>
AuthorDate: Wed Oct 13 10:44:52 2021 +0530
add MySQL install plugin statement (#13008)
---
.../impl/MySQLDALStatementSQLVisitor.java | 8 ++--
.../mysql/dal/MySQLInstallPluginStatement.java | 6 +++
.../asserts/statement/dal/DALStatementAssert.java | 11 ++++--
.../dal/impl/InstallPluginStatementAssert.java | 45 ++++++++++++++++++++++
.../jaxb/cases/domain/SQLParserTestCases.java | 13 +++++--
.../domain/segment/impl/plugin/ExpectedPlugin.java | 14 +++----
.../dal/InstallPluginStatementTestCase.java | 20 ++++++----
.../src/main/resources/case/dal/install.xml | 4 ++
.../main/resources/sql/supported/dal/install.xml | 1 +
9 files changed, 96 insertions(+), 26 deletions(-)
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/MySQLDALStatementSQLVisitor.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/MySQLDALStatementSQLVisitor.java
index ecfe160..903b3e6 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/MySQLDALStatementSQLVisitor.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/MySQLDALStatementSQLVisitor.java
@@ -29,7 +29,6 @@ import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.CreateL
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ExplainContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ExplainableStatementContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.FlushContext;
-import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TablesOptionContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.FromSchemaContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.FromTableContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.InstallComponentContext;
@@ -72,11 +71,12 @@ import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ShowVar
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ShowWarningsContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.ShowWhereClauseContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.SystemVariableContext;
+import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TableNameContext;
+import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TablesOptionContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UninstallPluginContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UseContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.UserVariableContext;
import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.VariableContext;
-import
org.apache.shardingsphere.sql.parser.autogen.MySQLStatementParser.TableNameContext;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.FromSchemaSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.FromTableSegment;
import
org.apache.shardingsphere.sql.parser.sql.common.segment.dal.ShowLikeSegment;
@@ -271,7 +271,9 @@ public final class MySQLDALStatementSQLVisitor extends
MySQLStatementSQLVisitor
@Override
public ASTNode visitInstallPlugin(final InstallPluginContext ctx) {
- return new MySQLInstallPluginStatement();
+ MySQLInstallPluginStatement result = new MySQLInstallPluginStatement();
+ result.setPluginName(((IdentifierValue)
visit(ctx.pluginName())).getValue());
+ return result;
}
@Override
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
index 15ef1ae..1abeaa6 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
+++
b/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
@@ -17,6 +17,8 @@
package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+import lombok.Getter;
+import lombok.Setter;
import lombok.ToString;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
@@ -26,5 +28,9 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLSta
* MySQL install plugin statement.
*/
@ToString
+@Getter
+@Setter
public final class MySQLInstallPluginStatement extends AbstractSQLStatement
implements DALStatement, MySQLStatement {
+
+ private String pluginName;
}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/DALStatementAssert.java
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/DALStatementAssert.java
index 8696497..069f9a6 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/DALStatementAssert.java
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/DALStatementAssert.java
@@ -22,8 +22,9 @@ import lombok.NoArgsConstructor;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.ExplainStatement;
import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.SetStatement;
-import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLInstallComponentStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLFlushStatement;
+import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLInstallComponentStatement;
+import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLInstallPluginStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowColumnsStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowCreateTableStatement;
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLShowCreateTriggerStatement;
@@ -36,8 +37,9 @@ import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQ
import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.postgresql.dal.PostgreSQLShowStatement;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.ExplainStatementAssert;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.InstallComponentStatementAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.FlushStatementAssert;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.InstallComponentStatementAssert;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.InstallPluginStatementAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.MySQLUseStatementAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.SetParameterStatementAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.ShowColumnsStatementAssert;
@@ -51,7 +53,9 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement
import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.dal.impl.ShowTablesStatementAssert;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ExplainStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.FlushStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.InstallComponentStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.InstallPluginStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.SetParameterStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowColumnsStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowCreateTableStatementTestCase;
@@ -63,7 +67,6 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowTableStatusStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowTablesStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.UseStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.FlushStatementTestCase;
/**
* DAL statement assert.
@@ -107,6 +110,8 @@ public final class DALStatementAssert {
InstallComponentStatementAssert.assertIs(assertContext,
(MySQLInstallComponentStatement) actual, (InstallComponentStatementTestCase)
expected);
} else if (actual instanceof MySQLFlushStatement) {
FlushStatementAssert.assertIs(assertContext, (MySQLFlushStatement)
actual, (FlushStatementTestCase) expected);
+ } else if (actual instanceof MySQLInstallPluginStatement) {
+ InstallPluginStatementAssert.assertIs(assertContext,
(MySQLInstallPluginStatement) actual, (InstallPluginStatementTestCase)
expected);
}
}
}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/impl/InstallPluginStatementAssert.java
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/impl/InstallPluginStatementAssert.java
new file mode 100644
index 0000000..17a95e3
--- /dev/null
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/asserts/statement/dal/impl/InstallPluginStatementAssert.java
@@ -0,0 +1,45 @@
+/*
+ * 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.dal.impl;
+
+import lombok.AccessLevel;
+import lombok.NoArgsConstructor;
+import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal.MySQLInstallPluginStatement;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.InstallPluginStatementTestCase;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
+/**
+ * Install plugin statement assert.
+ */
+@NoArgsConstructor(access = AccessLevel.PRIVATE)
+public final class InstallPluginStatementAssert {
+
+ /**
+ * Assert install plugin statement is correct with expected install plugin
statement test case.
+ *
+ * @param assertContext assert context
+ * @param actual actual install plugin statement
+ * @param expected expected install plugin statement test case
+ */
+ public static void assertIs(final SQLCaseAssertContext assertContext,
final MySQLInstallPluginStatement actual, final InstallPluginStatementTestCase
expected) {
+ assertThat(assertContext.getText("Actual plugin name does not match:
"), actual.getPluginName(), is(expected.getPlugin().getName()));
+ }
+}
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 ded50b2..dd2d57e 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
@@ -22,7 +22,9 @@ import lombok.Getter;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.CommonStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ExplainStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.FlushStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.InstallComponentStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.InstallPluginStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.SetParameterStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowColumnsStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.ShowCreateTableStatementTestCase;
@@ -44,7 +46,6 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.DropLoginStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.DropRoleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.DropUserStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal.FlushStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.GrantStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.RenameUserStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dcl.RevokeStatementTestCase;
@@ -106,12 +107,12 @@ import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetShardingHintDatabaseValueStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.SetVariableStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowReadwriteSplittingHintStatusStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.CheckScalingStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.CheckoutScalingStatementTestCase;
-import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.ShowScalingCheckAlgorithmsStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowScalingListStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowShardingHintStatusStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.ShowVariableStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.CheckScalingStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.CheckoutScalingStatementTestCase;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.ShowScalingCheckAlgorithmsStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.ral.scaling.StopScalingSourceWritingStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterDataBaseDiscoveryRuleStatementTestCase;
import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.distsql.rdl.alter.AlterEncryptRuleStatementTestCase;
@@ -612,6 +613,9 @@ public final class SQLParserTestCases {
@XmlElement(name = "flush")
private final List<FlushStatementTestCase> flushStatementTestCase = new
LinkedList<>();
+ @XmlElement(name = "install-plugin")
+ private final List<InstallPluginStatementTestCase>
installPluginStatementTestCase = new LinkedList<>();
+
/**
* Get all SQL parser test cases.
*
@@ -763,6 +767,7 @@ public final class SQLParserTestCases {
putAll(dropSchemaTestCase, result);
putAll(installComponentTestCase, result);
putAll(flushStatementTestCase, result);
+ putAll(installPluginStatementTestCase, result);
return result;
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/plugin/ExpectedPlugin.java
similarity index 60%
copy from
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
copy to
shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/plugin/ExpectedPlugin.java
index 15ef1ae..d7117f59 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/segment/impl/plugin/ExpectedPlugin.java
@@ -15,16 +15,14 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.plugin;
-import lombok.ToString;
-import
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
+import lombok.Getter;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.AbstractExpectedIdentifierSQLSegment;
/**
- * MySQL install plugin statement.
+ * Expected plugin.
*/
-@ToString
-public final class MySQLInstallPluginStatement extends AbstractSQLStatement
implements DALStatement, MySQLStatement {
+@Getter
+public final class ExpectedPlugin extends AbstractExpectedIdentifierSQLSegment
{
}
diff --git
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dal/InstallPluginStatementTestCase.java
similarity index 58%
copy from
shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
copy to
shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dal/InstallPluginStatementTestCase.java
index 15ef1ae..90df321 100644
---
a/shardingsphere-sql-parser/shardingsphere-sql-parser-statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/dialect/statement/mysql/dal/MySQLInstallPluginStatement.java
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/jaxb/cases/domain/statement/dal/InstallPluginStatementTestCase.java
@@ -15,16 +15,20 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.dal;
+package
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.dal;
-import lombok.ToString;
-import
org.apache.shardingsphere.sql.parser.sql.common.statement.AbstractSQLStatement;
-import
org.apache.shardingsphere.sql.parser.sql.common.statement.dal.DALStatement;
-import
org.apache.shardingsphere.sql.parser.sql.dialect.statement.mysql.MySQLStatement;
+import lombok.Getter;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.segment.impl.plugin.ExpectedPlugin;
+import
org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.domain.statement.SQLParserTestCase;
+
+import javax.xml.bind.annotation.XmlElement;
/**
- * MySQL install plugin statement.
+ * Install plugin statement test case.
*/
-@ToString
-public final class MySQLInstallPluginStatement extends AbstractSQLStatement
implements DALStatement, MySQLStatement {
+@Getter
+public final class InstallPluginStatementTestCase extends SQLParserTestCase {
+
+ @XmlElement(name = "plugin")
+ private ExpectedPlugin plugin;
}
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dal/install.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dal/install.xml
index bfd62c0..986311e 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dal/install.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/case/dal/install.xml
@@ -25,4 +25,8 @@
<component name="file://component1" start-index="18" stop-index="36"/>
<component name="file://component2" start-index="39" stop-index="57"/>
</install-component>
+
+ <install-plugin sql-case-id="install_plugin">
+ <plugin name="binlog" start-index="15" stop-index="20"/>
+ </install-plugin>
</sql-parser-test-cases>
diff --git
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dal/install.xml
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dal/install.xml
index 168ffae..f290c1a 100644
---
a/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dal/install.xml
+++
b/shardingsphere-test/shardingsphere-parser-test/src/main/resources/sql/supported/dal/install.xml
@@ -19,4 +19,5 @@
<sql-cases>
<sql-case id="install_component" value="INSTALL COMPONENT
'file://component1'" db-types="MySQL" />
<sql-case id="install_components" value="INSTALL COMPONENT
'file://component1', 'file://component2'" db-types="MySQL" />
+ <sql-case id="install_plugin" value="INSTALL PLUGIN binlog SONAME
'shared_library_name'" db-types="MySQL" />
</sql-cases>