diff --git a/pom.xml b/pom.xml index 354e87707e05f6f2bb1c4aeb474edc7aa2a17252..508cf47fb5053cad52142927b6519370edad5564 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ shardingsphere-transaction shardingsphere-governance shardingsphere-observability - + shardingsphere-test shardingsphere-integration-test shardingsphere-distribution diff --git a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java index e0ab2b442febf37789c99e1cd5ffb148f5c6d53b..c9567fd343f2f70bf46678d8664a871776703acc 100644 --- a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java +++ b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-rewrite/src/test/java/org/apache/shardingsphere/encrypt/rewrite/parameterized/EncryptSQLRewriterParameterizedTest.java @@ -44,7 +44,7 @@ import org.apache.shardingsphere.infra.schema.ShardingSphereSchema; import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations; import org.apache.shardingsphere.infra.yaml.engine.YamlEngine; import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngine; import org.junit.runners.Parameterized.Parameters; import java.io.File; diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java index e622083107f3bde65796c815d38a6c81a8886b8f..96d86e8e0ed968ca21c36e0697dd55df6987061d 100644 --- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java +++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/MixSQLRewriterParameterizedTest.java @@ -47,7 +47,7 @@ import org.apache.shardingsphere.infra.schema.ShardingSphereSchema; import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations; import org.apache.shardingsphere.infra.yaml.engine.YamlEngine; import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngine; import org.junit.runners.Parameterized.Parameters; import java.io.File; diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java index 4e27a7c7546178a5ea67e0d441cab9f2d0fe5099..0c9276f127416e8e6c975b0f0101504242e312a4 100644 --- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java +++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-rewrite/src/test/java/org/apache/shardingsphere/sharding/rewrite/parameterized/ShardingSQLRewriterParameterizedTest.java @@ -47,7 +47,7 @@ import org.apache.shardingsphere.infra.schema.ShardingSphereSchema; import org.apache.shardingsphere.infra.yaml.config.YamlRootRuleConfigurations; import org.apache.shardingsphere.infra.yaml.engine.YamlEngine; import org.apache.shardingsphere.infra.yaml.swapper.YamlRuleConfigurationSwapperEngine; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngine; import org.junit.runners.Parameterized.Parameters; import java.io.File; diff --git a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java index af04c4373f0844e90e99090f5074a2410317185d..0fc3f3b015614873b9b5f19142d7504059b4f96a 100644 --- a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java +++ b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java @@ -36,7 +36,7 @@ import org.apache.shardingsphere.infra.route.engine.SQLRouteEngine; import org.apache.shardingsphere.infra.schema.ShardingSphereSchema; import org.apache.shardingsphere.sharding.route.engine.fixture.AbstractRoutingEngineTest; import org.apache.shardingsphere.sharding.rule.ShardingRule; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngine; import java.sql.Types; import java.util.Arrays; diff --git a/shardingsphere-infra/pom.xml b/shardingsphere-infra/pom.xml index a54bb1d712326569aa6e475ea67dfcdce87aadc5..eaab90ae8d0ddfef8e3bfc55ce714226402a4a9f 100644 --- a/shardingsphere-infra/pom.xml +++ b/shardingsphere-infra/pom.xml @@ -31,6 +31,7 @@ shardingsphere-infra-common + shardingsphere-infra-parser shardingsphere-infra-binder shardingsphere-infra-route shardingsphere-infra-rewrite diff --git a/shardingsphere-infra/shardingsphere-infra-binder/pom.xml b/shardingsphere-infra/shardingsphere-infra-binder/pom.xml index fc1784f16c2213272f22c74aeda2482fde0f6b28..79b267a30a42e110d746a7cf542955bc46d4b468 100644 --- a/shardingsphere-infra/shardingsphere-infra-binder/pom.xml +++ b/shardingsphere-infra/shardingsphere-infra-binder/pom.xml @@ -32,6 +32,12 @@ shardingsphere-sql-parser-engine ${project.version} + + + org.apache.shardingsphere + shardingsphere-infra-parser + ${project.version} + org.apache.shardingsphere shardingsphere-infra-common diff --git a/shardingsphere-infra/shardingsphere-infra-parser/pom.xml b/shardingsphere-infra/shardingsphere-infra-parser/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..fdbc68642d9979b6ef7dbbfe4c36da598b1a12c6 --- /dev/null +++ b/shardingsphere-infra/shardingsphere-infra-parser/pom.xml @@ -0,0 +1,38 @@ + + + + + 4.0.0 + + org.apache.shardingsphere + shardingsphere-infra + 5.0.0-RC1-SNAPSHOT + + shardingsphere-infra-parser + ${project.artifactId} + + + + org.apache.shardingsphere + shardingsphere-sql-parser-engine + ${project.version} + + + diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/SQLStatementParserEngine.java b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/SQLStatementParserEngine.java similarity index 95% rename from shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/SQLStatementParserEngine.java rename to shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/SQLStatementParserEngine.java index 8e69c2ed910da7e4162309532c236530dcc916a8..ebc394588e5ed8d1a496e5d12f63c727cfa02c78 100644 --- a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/SQLStatementParserEngine.java +++ b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/SQLStatementParserEngine.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.sql.parser.statement; +package org.apache.shardingsphere.infra.parser; import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement; diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngine.java b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngine.java similarity index 95% rename from shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngine.java rename to shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngine.java index 2a019c6c08dc5424aefb72df9a2613157798d7cc..25a0484373bf9913d9aaf0bd2bd40b2def3e240c 100644 --- a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngine.java +++ b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngine.java @@ -15,14 +15,14 @@ * limitations under the License. */ -package org.apache.shardingsphere.sql.parser.statement.standard; +package org.apache.shardingsphere.infra.parser.standard; import lombok.RequiredArgsConstructor; import org.apache.shardingsphere.sql.parser.api.SQLParserEngine; import org.apache.shardingsphere.sql.parser.cache.SQLParsedResultCache; import org.apache.shardingsphere.sql.parser.hook.ParsingHookRegistry; import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement; -import org.apache.shardingsphere.sql.parser.statement.SQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.SQLStatementParserEngine; import java.util.Optional; diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngineFactory.java b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngineFactory.java similarity index 96% rename from shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngineFactory.java rename to shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngineFactory.java index 8c637a37dfb074deecb7eff3a7e69b0dafe3eb8f..2820b7ed97de0e0c20b17a9330aac46ba905f01c 100644 --- a/shardingsphere-sql-parser/shardingsphere-sql-parser-engine/src/main/java/org/apache/shardingsphere/sql/parser/statement/standard/StandardSQLStatementParserEngineFactory.java +++ b/shardingsphere-infra/shardingsphere-infra-parser/src/main/java/org/apache/shardingsphere/infra/parser/standard/StandardSQLStatementParserEngineFactory.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.shardingsphere.sql.parser.statement.standard; +package org.apache.shardingsphere.infra.parser.standard; import lombok.AccessLevel; import lombok.NoArgsConstructor; diff --git a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/pom.xml b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/pom.xml index f34ef37db4dadb357f23649a118f82154a8bfcaf..b5ee0b83a1b2efb2cc451e1e230f1834fcbc5878 100644 --- a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/pom.xml +++ b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/pom.xml @@ -36,6 +36,12 @@ org.antlr antlr4-runtime + + + org.apache.shardingsphere + shardingsphere-infra-parser + ${project.version} + org.apache.shardingsphere shardingsphere-rdl-parser-sql diff --git a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/ShardingSphereSQLStatementParserEngine.java b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/ShardingSphereSQLStatementParserEngine.java index 955f7bd2f0b106267dcf982b7c99da14855e4070..94a857b696b13a2e52246791601e8f6240ca369d 100644 --- a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/ShardingSphereSQLStatementParserEngine.java +++ b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/ShardingSphereSQLStatementParserEngine.java @@ -17,11 +17,11 @@ package org.apache.shardingsphere.rdl.parser.engine; +import org.apache.shardingsphere.infra.parser.SQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngine; +import org.apache.shardingsphere.infra.parser.standard.StandardSQLStatementParserEngineFactory; import org.apache.shardingsphere.rdl.parser.engine.engine.RDLSQLStatementParserEngine; -import org.apache.shardingsphere.sql.parser.statement.SQLStatementParserEngine; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngine; import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngineFactory; /** * ShardingSphere SQL statement parser engine. diff --git a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/engine/RDLSQLStatementParserEngine.java b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/engine/RDLSQLStatementParserEngine.java index 0ea2cfe3efaadde5def215fbf407117f640e594d..0ccf8d07eac075cb560dbdaa8febb6b7202fea1f 100644 --- a/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/engine/RDLSQLStatementParserEngine.java +++ b/shardingsphere-rdl-parser/shardingsphere-rdl-parser-engine/src/main/java/org/apache/shardingsphere/rdl/parser/engine/engine/RDLSQLStatementParserEngine.java @@ -19,9 +19,9 @@ package org.apache.shardingsphere.rdl.parser.engine.engine; import lombok.RequiredArgsConstructor; import org.antlr.v4.runtime.tree.ParseTree; +import org.apache.shardingsphere.infra.parser.SQLStatementParserEngine; import org.apache.shardingsphere.rdl.parser.engine.executor.RDLSQLParserExecutor; import org.apache.shardingsphere.rdl.parser.sql.visitor.ShardingSphereVisitor; -import org.apache.shardingsphere.sql.parser.statement.SQLStatementParserEngine; import org.apache.shardingsphere.sql.parser.hook.ParsingHookRegistry; import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement; diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java index fd57e1bbda99c7b2ad08899c569e3d721c214478..e4207038f8c8d09de1df60d569b468edefca26b6 100644 --- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java +++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/SQLParserParameterizedTest.java @@ -18,8 +18,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.engine; import lombok.RequiredArgsConstructor; +import org.apache.shardingsphere.sql.parser.api.SQLParserEngine; import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngineFactory; import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.SQLCaseAssertContext; import org.apache.shardingsphere.test.sql.parser.parameterized.asserts.statement.SQLStatementAssert; import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.cases.SQLParserTestCasesRegistry; @@ -78,7 +78,7 @@ public abstract class SQLParserParameterizedTest { SQLParserTestCase expected = SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId); String databaseType = "H2".equals(this.databaseType) ? "MySQL" : this.databaseType; String sql = SQL_CASES_LOADER.getSQL(sqlCaseId, sqlCaseType, SQL_PARSER_TEST_CASES_REGISTRY.get(sqlCaseId).getParameters()); - SQLStatement actual = StandardSQLStatementParserEngineFactory.getSQLStatementParserEngine(databaseType).parse(sql, false); + SQLStatement actual = SQLParserEngine.parse(databaseType, sql, false, "STATEMENT"); SQLStatementAssert.assertIs(new SQLCaseAssertContext(sqlCaseId, sqlCaseType), actual, expected); } } diff --git a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java index d73b88921e6165e7046e8d8fc241745dc69073c5..ff511fa4e24be7b17e80adb808723daeab9c0722 100644 --- a/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java +++ b/shardingsphere-sql-parser/shardingsphere-sql-parser-test/src/main/java/org/apache/shardingsphere/test/sql/parser/parameterized/engine/UnsupportedSQLParserParameterizedTest.java @@ -18,8 +18,8 @@ package org.apache.shardingsphere.test.sql.parser.parameterized.engine; import lombok.RequiredArgsConstructor; +import org.apache.shardingsphere.sql.parser.api.SQLParserEngine; import org.apache.shardingsphere.sql.parser.exception.SQLParsingException; -import org.apache.shardingsphere.sql.parser.statement.standard.StandardSQLStatementParserEngineFactory; import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.sql.SQLCaseType; import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.sql.loader.SQLCasesLoader; import org.apache.shardingsphere.test.sql.parser.parameterized.jaxb.sql.loader.UnsupportedSQLCasesRegistry; @@ -47,6 +47,6 @@ public abstract class UnsupportedSQLParserParameterizedTest { public final void assertUnsupportedSQL() { String sql = SQL_CASES_LOADER.getSQL(sqlCaseId, sqlCaseType, Collections.emptyList()); String databaseType = "H2".equals(this.databaseType) ? "MySQL" : this.databaseType; - StandardSQLStatementParserEngineFactory.getSQLStatementParserEngine(databaseType).parse(sql, false); + SQLParserEngine.parse(databaseType, sql, false, "STATEMENT"); } }