You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by ch...@apache.org on 2023/06/07 01:23:03 UTC
[shardingsphere] branch master updated: Move executor and optimizer module to sql federation core module (#26081)
This is an automated email from the ASF dual-hosted git repository.
chengzhang 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 06f4756327e Move executor and optimizer module to sql federation core module (#26081)
06f4756327e is described below
commit 06f4756327e9d12d80485bc64bbfa0f38d6b3025
Author: Zhengqiang Duan <du...@apache.org>
AuthorDate: Wed Jun 7 09:22:55 2023 +0800
Move executor and optimizer module to sql federation core module (#26081)
* Move executor and optimizer module to sql federation core module
* Remove useless shardingsphere-sql-federation-optimizer and useless shardingsphere-sql-federation-executor dependency
* fix build error
* fix sql optimize it
* fix SQLNodeConverterEngineIT
---
.../optional-plugins/_index.cn.md | 1 -
.../optional-plugins/_index.en.md | 1 -
jdbc/core/pom.xml | 5 -
kernel/sql-federation/core/pom.xml | 176 +++++++++++++++++++++
.../src/main/antlr4/imports/rexnode/Alphabet.g4 | 0
.../src/main/antlr4/imports/rexnode/Keyword.g4 | 0
.../src/main/antlr4/imports/rexnode/Literals.g4 | 0
.../src/main/antlr4/imports/rexnode/Symbol.g4 | 0
.../rexnode/autogen/SQLOptimizerRexNode.g4 | 0
.../OptimizationSQLNodeConvertException.java | 2 +-
.../exception/OptimizationSQLRexNodeException.java | 2 +-
.../executor/FilterableTableScanExecutor.java | 11 +-
.../sqlfederation/executor}/SQLDialectFactory.java | 2 +-
.../executor}/SQLFederationDataContext.java | 2 +-
.../executor/TableScanExecutorContext.java | 0
.../executor/TranslatableTableScanExecutor.java | 8 +-
.../AbstractUnsupportedOperationResultSet.java | 2 +-
...bstractUnsupportedUpdateOperationResultSet.java | 2 +-
.../resultset}/AdvancedSQLFederationExecutor.java | 5 +-
.../resultset/SQLFederationResultSet.java | 9 +-
.../resultset/SQLFederationResultSetMetaData.java | 2 +-
.../executor}/resultset/WrapperAdapter.java | 2 +-
.../executor}/row/EmptyRowEnumerator.java | 2 +-
.../executor}/row/MemoryEnumerator.java | 2 +-
.../executor}/row/SQLFederationRowEnumerator.java | 2 +-
.../optimizer/SQLOptimizeContext.java | 0
.../sqlfederation/optimizer/SQLOptimizeEngine.java | 0
.../optimizer/context/OptimizerContext.java | 0
.../optimizer/context/OptimizerContextFactory.java | 0
.../context/parser/OptimizerParserContext.java | 0
.../parser/OptimizerParserContextFactory.java | 0
.../parser/dialect/OptimizerSQLDialectBuilder.java | 0
.../parser/dialect/impl/H2OptimizerBuilder.java | 0
.../dialect/impl/MariaDBOptimizerBuilder.java | 0
.../parser/dialect/impl/MySQLOptimizerBuilder.java | 0
.../dialect/impl/OpenGaussOptimizerBuilder.java | 0
.../dialect/impl/OracleOptimizerBuilder.java | 0
.../dialect/impl/PostgreSQLOptimizerBuilder.java | 0
.../parser/dialect/impl/SQL92OptimizerBuilder.java | 0
.../dialect/impl/SQLServerOptimizerBuilder.java | 0
.../context/planner/OptimizerPlannerContext.java | 0
.../planner/OptimizerPlannerContextFactory.java | 0
.../converter/SQLNodeConverterEngine.java | 2 +-
.../converter/segment/SQLSegmentConverter.java | 0
.../segment/expression/ExpressionConverter.java | 0
.../impl/BetweenExpressionConverter.java | 0
.../impl/BinaryOperationExpressionConverter.java | 0
.../impl/CaseWhenExpressionConverter.java | 0
.../segment/expression/impl/ColumnConverter.java | 0
.../impl/ExistsSubqueryExpressionConverter.java | 0
.../segment/expression/impl/FunctionConverter.java | 0
.../expression/impl/InExpressionConverter.java | 0
.../expression/impl/ListExpressionConverter.java | 0
.../impl/LiteralExpressionConverter.java | 0
.../expression/impl/NotExpressionConverter.java | 0
.../impl/ParameterMarkerExpressionConverter.java | 0
.../impl/SubqueryExpressionConverter.java | 0
.../expression/impl/TrimFunctionConverter.java | 0
.../converter/segment/from/TableConverter.java | 0
.../segment/from/impl/JoinTableConverter.java | 0
.../segment/from/impl/SimpleTableConverter.java | 0
.../segment/from/impl/SubqueryTableConverter.java | 0
.../segment/groupby/GroupByConverter.java | 0
.../converter/segment/groupby/HavingConverter.java | 0
.../segment/limit/PaginationValueSQLConverter.java | 0
.../segment/orderby/OrderByConverter.java | 0
.../orderby/item/ColumnOrderByItemConverter.java | 0
.../item/ExpressionOrderByItemConverter.java | 0
.../orderby/item/IndexOrderByItemConverter.java | 0
.../orderby/item/OrderByItemConverterUtils.java | 0
.../segment/projection/DistinctConverter.java | 0
.../segment/projection/ProjectionsConverter.java | 0
.../impl/AggregationProjectionConverter.java | 0
.../projection/impl/ColumnProjectionConverter.java | 0
.../segment/projection/impl/DataTypeConverter.java | 0
.../impl/ExpressionProjectionConverter.java | 0
.../impl/ShorthandProjectionConverter.java | 0
.../impl/SubqueryProjectionConverter.java | 0
.../converter/segment/where/WhereConverter.java | 0
.../converter/statement/SQLStatementConverter.java | 0
.../statement/select/SelectStatementConverter.java | 0
.../converter/type/CombineOperatorConverter.java | 0
.../FilterableScanNodeExecutorContext.java | 0
.../executor/ScanNodeExecutorContext.java | 0
.../optimizer/executor/TableScanExecutor.java | 0
.../TranslatableScanNodeExecutorContext.java | 0
.../expander/ShardingSphereViewExpander.java | 0
.../metadata/filter/FilterableDatabase.java | 0
.../metadata/filter/FilterableSchema.java | 0
.../optimizer/metadata/filter/FilterableTable.java | 0
.../metadata/statistic/FederationStatistic.java | 0
.../translatable/FederationTranslatableTable.java | 0
.../translatable/TranslatableDatabase.java | 0
.../translatable/TranslatableFilterRule.java | 0
.../TranslatableProjectFilterRule.java | 0
.../translatable/TranslatableProjectRule.java | 0
.../metadata/translatable/TranslatableSchema.java | 0
.../translatable/TranslatableTableScan.java | 0
.../rexnode/SQLOptimizerRexNodeVisitor.java | 2 +-
.../optimizer/rexnode/StringToRexNodeUtils.java | 0
.../optimizer/util/SQLFederationDataTypeUtils.java | 0
.../optimizer/util/SQLFederationPlannerUtils.java | 0
...ntext.parser.dialect.OptimizerSQLDialectBuilder | 0
...gsphere.sqlfederation.spi.SQLFederationExecutor | 2 +-
.../core/src/main/resources/saffron.properties | 0
.../executor/FilterableTableScanExecutorTest.java | 7 +-
.../result/SQLFederationResultSetTest.java | 10 +-
.../optimizer/context/OptimizerContextTest.java | 0
.../type/CombineOperatorConverterTest.java | 0
.../optimizer/it/SQLOptimizeEngineIT.java | 4 +-
.../sqlfederation/optimizer/it/TestCase.java | 0
.../optimizer/it/TestCaseAssertion.java | 0
.../sqlfederation/optimizer/it/TestCases.java | 0
.../optimizer/it/TestCasesLoader.java | 0
.../resources/cases/federation-query-sql-cases.xml | 25 ++-
.../src/test/resources/logback-test.xml | 0
kernel/sql-federation/executor/advanced/pom.xml | 88 -----------
kernel/sql-federation/executor/core/pom.xml | 56 -------
.../SQLFederationDriverRegisterException.java | 33 ----
kernel/sql-federation/executor/pom.xml | 35 ----
kernel/sql-federation/optimizer/pom.xml | 175 --------------------
.../optimizer/src/test/resources/logback-test.xml | 33 ----
kernel/sql-federation/pom.xml | 2 -
proxy/backend/core/pom.xml | 5 -
report/pom.xml | 15 --
test/it/optimizer/pom.xml | 7 +-
.../converter/SQLNodeConverterEngineIT.java | 2 +-
127 files changed, 230 insertions(+), 511 deletions(-)
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.cn.md b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.cn.md
index c589f738953..6f9e57db570 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.cn.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.cn.md
@@ -26,7 +26,6 @@ ShardingSphere 默认情况下仅包含核心 SPI 的实现,在 Git Source 存
- `org.apache.shardingsphere:shardingsphere-sharding-core`,数据分片核心
- `org.apache.shardingsphere:shardingsphere-single-core`,单表(所有的分片数据源中仅唯一存在的表)核心
- `org.apache.shardingsphere:shardingsphere-sql-federation-core`,联邦查询执行器核心
-- `org.apache.shardingsphere:shardingsphere-sql-federation-executor-advanced`,联邦查询执行器的 `advanced` 实现
- `org.apache.shardingsphere:shardingsphere-sql-parser-mysql`, SQL 解析的 MySQL 方言实现
- `org.apache.shardingsphere:shardingsphere-sql-parser-opengauss`, SQL 解析的 OpenGauss 方言实现
- `org.apache.shardingsphere:shardingsphere-sql-parser-oracle`, SQL 解析的 Oracle 方言解析实现
diff --git a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
index b4475c086a3..8cf30dda970 100644
--- a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
+++ b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/_index.en.md
@@ -26,7 +26,6 @@ All the built-in plugins for ShardingSphere-JDBC are listed below in the form of
- `org.apache.shardingsphere:shardingsphere-sharding-core`, data sharding core
- `org.apache.shardingsphere:shardingsphere-single-core`, single-table (only the only table that exists in all sharded data sources) core
- `org.apache.shardingsphere:shardingsphere-sql-federation-core`, federation query executor core
-- `org.apache.shardingsphere:shardingsphere-sql-federation-executor-advanced`, the `advanced` implementation of federated query executor
- `org.apache.shardingsphere:shardingsphere-sql-parser-mysql`, MySQL dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-opengauss`, OpenGauss dialect implementation of SQL parsing
- `org.apache.shardingsphere:shardingsphere-sql-parser-oracle`, Oracle dialect implementation of SQL parsing
diff --git a/jdbc/core/pom.xml b/jdbc/core/pom.xml
index 9cbf3ee51a6..5a7688f1e26 100644
--- a/jdbc/core/pom.xml
+++ b/jdbc/core/pom.xml
@@ -155,11 +155,6 @@
<artifactId>shardingsphere-sql-federation-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-advanced</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-sql-parser-core</artifactId>
diff --git a/kernel/sql-federation/core/pom.xml b/kernel/sql-federation/core/pom.xml
index b9c57e2474d..3ddd7d8a1e9 100644
--- a/kernel/sql-federation/core/pom.xml
+++ b/kernel/sql-federation/core/pom.xml
@@ -33,5 +33,181 @@
<artifactId>shardingsphere-sql-federation-api</artifactId>
<version>${project.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-executor</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-merge</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-context</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-infra-binder</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-sql-parser-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.calcite</groupId>
+ <artifactId>calcite-core</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-sql92</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-mysql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-postgresql</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-oracle</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-sqlserver</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.shardingsphere</groupId>
+ <artifactId>shardingsphere-parser-sql-opengauss</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.xml.bind</groupId>
+ <artifactId>jaxb-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.activation</groupId>
+ <artifactId>javax.activation-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.junit.jupiter</groupId>
+ <artifactId>junit-jupiter-engine</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>integration-tests</id>
+ <goals>
+ <goal>integration-test</goal>
+ <goal>verify</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+ <profiles>
+ <profile>
+ <id>jdk8</id>
+ <activation>
+ <jdk>1.8</jdk>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>jdk11+</id>
+ <activation>
+ <jdk>[11,)</jdk>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.antlr</groupId>
+ <artifactId>antlr4-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>antlr</id>
+ <goals>
+ <goal>antlr4</goal>
+ </goals>
+ <configuration>
+ <libDirectory>src/main/antlr4/imports/rexnode/</libDirectory>
+ <listener>false</listener>
+ <visitor>true</visitor>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
diff --git a/kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Alphabet.g4 b/kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Alphabet.g4
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Alphabet.g4
rename to kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Alphabet.g4
diff --git a/kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Keyword.g4 b/kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Keyword.g4
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Keyword.g4
rename to kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Keyword.g4
diff --git a/kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Literals.g4 b/kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Literals.g4
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Literals.g4
rename to kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Literals.g4
diff --git a/kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Symbol.g4 b/kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Symbol.g4
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/antlr4/imports/rexnode/Symbol.g4
rename to kernel/sql-federation/core/src/main/antlr4/imports/rexnode/Symbol.g4
diff --git a/kernel/sql-federation/optimizer/src/main/antlr4/org/apache/shardingsphere/rexnode/autogen/SQLOptimizerRexNode.g4 b/kernel/sql-federation/core/src/main/antlr4/org/apache/shardingsphere/rexnode/autogen/SQLOptimizerRexNode.g4
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/antlr4/org/apache/shardingsphere/rexnode/autogen/SQLOptimizerRexNode.g4
rename to kernel/sql-federation/core/src/main/antlr4/org/apache/shardingsphere/rexnode/autogen/SQLOptimizerRexNode.g4
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLNodeConvertException.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLNodeConvertException.java
similarity index 94%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLNodeConvertException.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLNodeConvertException.java
index 8e8a9339a73..b86419f9713 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLNodeConvertException.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLNodeConvertException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.optimizer.converter.exception;
+package org.apache.shardingsphere.sqlfederation.exception;
import org.apache.shardingsphere.infra.exception.MetaDataSQLException;
import org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLRexNodeException.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLRexNodeException.java
similarity index 94%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLRexNodeException.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLRexNodeException.java
index 009fccb3226..af581f92c6f 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/exception/OptimizationSQLRexNodeException.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/OptimizationSQLRexNodeException.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.optimizer.converter.exception;
+package org.apache.shardingsphere.sqlfederation.exception;
import org.apache.shardingsphere.infra.exception.MetaDataSQLException;
import org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
similarity index 98%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
index 86f138ba394..017538a6509 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutor.java
@@ -36,10 +36,8 @@ import org.apache.calcite.rex.RexNode;
import org.apache.calcite.sql.SqlDialect;
import org.apache.calcite.sql.util.SqlString;
import org.apache.calcite.tools.RelBuilder;
-import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.binder.SQLStatementContextFactory;
import org.apache.shardingsphere.infra.binder.statement.SQLStatementContext;
-import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.connection.kernel.KernelProcessor;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.database.type.DatabaseTypeEngine;
@@ -68,18 +66,19 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine;
+import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
+import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.util.exception.external.sql.type.wrapper.SQLWrapperException;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqlfederation.SQLDialectFactory;
+import org.apache.shardingsphere.sqlfederation.executor.row.EmptyRowEnumerator;
+import org.apache.shardingsphere.sqlfederation.executor.row.MemoryEnumerator;
+import org.apache.shardingsphere.sqlfederation.executor.row.SQLFederationRowEnumerator;
import org.apache.shardingsphere.sqlfederation.optimizer.context.OptimizerContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.FilterableScanNodeExecutorContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.ScanNodeExecutorContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.TableScanExecutor;
import org.apache.shardingsphere.sqlfederation.optimizer.metadata.filter.FilterableSchema;
import org.apache.shardingsphere.sqlfederation.optimizer.util.SQLFederationPlannerUtils;
-import org.apache.shardingsphere.sqlfederation.row.EmptyRowEnumerator;
-import org.apache.shardingsphere.sqlfederation.row.MemoryEnumerator;
-import org.apache.shardingsphere.sqlfederation.row.SQLFederationRowEnumerator;
import org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutorContext;
import java.sql.Connection;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLDialectFactory.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLDialectFactory.java
similarity index 97%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLDialectFactory.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLDialectFactory.java
index d610ef8a885..311ed058236 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLDialectFactory.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLDialectFactory.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation;
+package org.apache.shardingsphere.sqlfederation.executor;
import lombok.AccessLevel;
import lombok.NoArgsConstructor;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLFederationDataContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLFederationDataContext.java
similarity index 97%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLFederationDataContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLFederationDataContext.java
index 67d5219b4ec..2467ac2cf22 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/SQLFederationDataContext.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/SQLFederationDataContext.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation;
+package org.apache.shardingsphere.sqlfederation.executor;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TableScanExecutorContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TableScanExecutorContext.java
similarity index 100%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TableScanExecutorContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TableScanExecutorContext.java
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
similarity index 98%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
index a3ae7028341..9d63426c5b3 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/TranslatableTableScanExecutor.java
@@ -74,8 +74,9 @@ import org.apache.shardingsphere.infra.session.connection.ConnectionContext;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.infra.util.exception.external.sql.type.wrapper.SQLWrapperException;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqlfederation.SQLDialectFactory;
-import org.apache.shardingsphere.sqlfederation.SQLFederationDataContext;
+import org.apache.shardingsphere.sqlfederation.executor.row.EmptyRowEnumerator;
+import org.apache.shardingsphere.sqlfederation.executor.row.MemoryEnumerator;
+import org.apache.shardingsphere.sqlfederation.executor.row.SQLFederationRowEnumerator;
import org.apache.shardingsphere.sqlfederation.optimizer.context.OptimizerContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.ScanNodeExecutorContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.TableScanExecutor;
@@ -83,9 +84,6 @@ import org.apache.shardingsphere.sqlfederation.optimizer.executor.TranslatableSc
import org.apache.shardingsphere.sqlfederation.optimizer.metadata.filter.FilterableSchema;
import org.apache.shardingsphere.sqlfederation.optimizer.rexnode.StringToRexNodeUtils;
import org.apache.shardingsphere.sqlfederation.optimizer.util.SQLFederationPlannerUtils;
-import org.apache.shardingsphere.sqlfederation.row.EmptyRowEnumerator;
-import org.apache.shardingsphere.sqlfederation.row.MemoryEnumerator;
-import org.apache.shardingsphere.sqlfederation.row.SQLFederationRowEnumerator;
import org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutorContext;
import java.sql.Connection;
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedOperationResultSet.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedOperationResultSet.java
similarity index 99%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedOperationResultSet.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedOperationResultSet.java
index accd1a99e0c..f0e7ce8d2eb 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedOperationResultSet.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedOperationResultSet.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.resultset;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import java.io.Reader;
import java.sql.NClob;
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedUpdateOperationResultSet.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedUpdateOperationResultSet.java
similarity index 99%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedUpdateOperationResultSet.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedUpdateOperationResultSet.java
index 315b23929c4..128e59e36aa 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/AbstractUnsupportedUpdateOperationResultSet.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AbstractUnsupportedUpdateOperationResultSet.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.resultset;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import java.io.InputStream;
import java.io.Reader;
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AdvancedSQLFederationExecutor.java
similarity index 97%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AdvancedSQLFederationExecutor.java
index caa87686b16..ed88b35e144 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/AdvancedSQLFederationExecutor.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/AdvancedSQLFederationExecutor.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import com.google.common.base.Preconditions;
import org.apache.calcite.adapter.enumerable.EnumerableInterpretable;
@@ -45,8 +45,7 @@ import org.apache.shardingsphere.infra.metadata.data.ShardingSphereData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.sqlfederation.SQLFederationDataContext;
-import org.apache.shardingsphere.sqlfederation.advanced.resultset.SQLFederationResultSet;
+import org.apache.shardingsphere.sqlfederation.executor.SQLFederationDataContext;
import org.apache.shardingsphere.sqlfederation.executor.TableScanExecutorContext;
import org.apache.shardingsphere.sqlfederation.executor.TranslatableTableScanExecutor;
import org.apache.shardingsphere.sqlfederation.optimizer.SQLOptimizeContext;
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSet.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSet.java
similarity index 98%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSet.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSet.java
index 2f8c24e7de6..4c0dce5837b 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSet.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSet.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.resultset;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.calcite.rel.type.RelDataType;
@@ -37,7 +37,6 @@ import java.sql.Array;
import java.sql.Blob;
import java.sql.Clob;
import java.sql.Date;
-import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
@@ -373,7 +372,7 @@ public final class SQLFederationResultSet extends AbstractUnsupportedOperationRe
@Override
public int getFetchDirection() {
- return ResultSet.FETCH_FORWARD;
+ return FETCH_FORWARD;
}
@Override
@@ -387,12 +386,12 @@ public final class SQLFederationResultSet extends AbstractUnsupportedOperationRe
@Override
public int getType() {
- return ResultSet.TYPE_FORWARD_ONLY;
+ return TYPE_FORWARD_ONLY;
}
@Override
public int getConcurrency() {
- return ResultSet.CONCUR_READ_ONLY;
+ return CONCUR_READ_ONLY;
}
@Override
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSetMetaData.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSetMetaData.java
similarity index 99%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSetMetaData.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSetMetaData.java
index d8fe0b87260..e542c69014b 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/SQLFederationResultSetMetaData.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/SQLFederationResultSetMetaData.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.resultset;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import org.apache.calcite.jdbc.JavaTypeFactoryImpl;
import org.apache.calcite.rel.type.RelDataType;
diff --git a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/WrapperAdapter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/WrapperAdapter.java
similarity index 95%
rename from kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/WrapperAdapter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/WrapperAdapter.java
index d8188ce9ee6..c393081913b 100644
--- a/kernel/sql-federation/executor/advanced/src/main/java/org/apache/shardingsphere/sqlfederation/advanced/resultset/WrapperAdapter.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/resultset/WrapperAdapter.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.resultset;
+package org.apache.shardingsphere.sqlfederation.executor.resultset;
import java.sql.SQLException;
import java.sql.SQLFeatureNotSupportedException;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/EmptyRowEnumerator.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/EmptyRowEnumerator.java
similarity index 96%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/EmptyRowEnumerator.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/EmptyRowEnumerator.java
index 338c29c2a2f..7a225bde6b1 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/EmptyRowEnumerator.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/EmptyRowEnumerator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.row;
+package org.apache.shardingsphere.sqlfederation.executor.row;
import org.apache.calcite.linq4j.Enumerator;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/MemoryEnumerator.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/MemoryEnumerator.java
similarity index 96%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/MemoryEnumerator.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/MemoryEnumerator.java
index 643c49c2f94..1cc6eb197a8 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/MemoryEnumerator.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/MemoryEnumerator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.row;
+package org.apache.shardingsphere.sqlfederation.executor.row;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.shardingsphere.infra.metadata.data.ShardingSphereRowData;
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/SQLFederationRowEnumerator.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/SQLFederationRowEnumerator.java
similarity index 97%
rename from kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/SQLFederationRowEnumerator.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/SQLFederationRowEnumerator.java
index 8e4cb6e89db..f7c36792573 100644
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/row/SQLFederationRowEnumerator.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/executor/row/SQLFederationRowEnumerator.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.row;
+package org.apache.shardingsphere.sqlfederation.executor.row;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.shardingsphere.infra.util.exception.external.sql.type.wrapper.SQLWrapperException;
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeEngine.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeEngine.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeEngine.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/SQLOptimizeEngine.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextFactory.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextFactory.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextFactory.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextFactory.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContextFactory.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContextFactory.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContextFactory.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/OptimizerParserContextFactory.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/OptimizerSQLDialectBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/OptimizerSQLDialectBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/OptimizerSQLDialectBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/OptimizerSQLDialectBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/H2OptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/H2OptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/H2OptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/H2OptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MariaDBOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MariaDBOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MariaDBOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MariaDBOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MySQLOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MySQLOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MySQLOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/MySQLOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OpenGaussOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OpenGaussOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OpenGaussOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OpenGaussOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OracleOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OracleOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OracleOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/OracleOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/PostgreSQLOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/PostgreSQLOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/PostgreSQLOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/PostgreSQLOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQL92OptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQL92OptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQL92OptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQL92OptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQLServerOptimizerBuilder.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQLServerOptimizerBuilder.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQLServerOptimizerBuilder.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/parser/dialect/impl/SQLServerOptimizerBuilder.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContextFactory.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContextFactory.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContextFactory.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/context/planner/OptimizerPlannerContextFactory.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java
similarity index 94%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java
index 1a48d8050bd..2432a24a75e 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/SQLNodeConverterEngine.java
@@ -22,7 +22,7 @@ import lombok.NoArgsConstructor;
import org.apache.calcite.sql.SqlNode;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.SelectStatement;
-import org.apache.shardingsphere.sqlfederation.optimizer.converter.exception.OptimizationSQLNodeConvertException;
+import org.apache.shardingsphere.sqlfederation.exception.OptimizationSQLNodeConvertException;
import org.apache.shardingsphere.sqlfederation.optimizer.converter.statement.select.SelectStatementConverter;
/**
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/SQLSegmentConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/SQLSegmentConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/SQLSegmentConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/SQLSegmentConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/ExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/ExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/ExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/ExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BetweenExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BetweenExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BetweenExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BetweenExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/BinaryOperationExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/CaseWhenExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ColumnConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ColumnConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ColumnConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ColumnConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ExistsSubqueryExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ExistsSubqueryExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ExistsSubqueryExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ExistsSubqueryExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/FunctionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/InExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/InExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/InExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/InExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ListExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ListExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ListExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ListExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/LiteralExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/NotExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/NotExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/NotExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/NotExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/ParameterMarkerExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/SubqueryExpressionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/SubqueryExpressionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/SubqueryExpressionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/SubqueryExpressionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/expression/impl/TrimFunctionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/TableConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/TableConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/TableConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/TableConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/JoinTableConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/JoinTableConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/JoinTableConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/JoinTableConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SimpleTableConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SimpleTableConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SimpleTableConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SimpleTableConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SubqueryTableConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SubqueryTableConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SubqueryTableConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/from/impl/SubqueryTableConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/GroupByConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/GroupByConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/GroupByConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/GroupByConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/HavingConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/HavingConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/HavingConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/groupby/HavingConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/limit/PaginationValueSQLConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/limit/PaginationValueSQLConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/limit/PaginationValueSQLConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/limit/PaginationValueSQLConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/OrderByConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/OrderByConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/OrderByConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/OrderByConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ColumnOrderByItemConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ColumnOrderByItemConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ColumnOrderByItemConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ColumnOrderByItemConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ExpressionOrderByItemConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ExpressionOrderByItemConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ExpressionOrderByItemConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/ExpressionOrderByItemConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/IndexOrderByItemConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/IndexOrderByItemConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/IndexOrderByItemConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/IndexOrderByItemConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/OrderByItemConverterUtils.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/OrderByItemConverterUtils.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/OrderByItemConverterUtils.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/orderby/item/OrderByItemConverterUtils.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/DistinctConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/DistinctConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/DistinctConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/DistinctConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/ProjectionsConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/ProjectionsConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/ProjectionsConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/ProjectionsConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/AggregationProjectionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ColumnProjectionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ColumnProjectionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ColumnProjectionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ColumnProjectionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/DataTypeConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/DataTypeConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/DataTypeConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/DataTypeConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ExpressionProjectionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ExpressionProjectionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ExpressionProjectionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ExpressionProjectionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ShorthandProjectionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ShorthandProjectionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ShorthandProjectionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/ShorthandProjectionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/projection/impl/SubqueryProjectionConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/where/WhereConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/where/WhereConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/where/WhereConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/segment/where/WhereConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/SQLStatementConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/SQLStatementConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/SQLStatementConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/SQLStatementConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/select/SelectStatementConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/select/SelectStatementConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/select/SelectStatementConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/statement/select/SelectStatementConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverter.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverter.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverter.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverter.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/FilterableScanNodeExecutorContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/FilterableScanNodeExecutorContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/FilterableScanNodeExecutorContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/FilterableScanNodeExecutorContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/ScanNodeExecutorContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/ScanNodeExecutorContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/ScanNodeExecutorContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/ScanNodeExecutorContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TableScanExecutor.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TableScanExecutor.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TableScanExecutor.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TableScanExecutor.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TranslatableScanNodeExecutorContext.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TranslatableScanNodeExecutorContext.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TranslatableScanNodeExecutorContext.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/executor/TranslatableScanNodeExecutorContext.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/expander/ShardingSphereViewExpander.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/expander/ShardingSphereViewExpander.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/expander/ShardingSphereViewExpander.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/expander/ShardingSphereViewExpander.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableDatabase.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableDatabase.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableDatabase.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableDatabase.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableSchema.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableSchema.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableSchema.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableSchema.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableTable.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableTable.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableTable.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/filter/FilterableTable.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/statistic/FederationStatistic.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/statistic/FederationStatistic.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/statistic/FederationStatistic.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/statistic/FederationStatistic.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/FederationTranslatableTable.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/FederationTranslatableTable.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/FederationTranslatableTable.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/FederationTranslatableTable.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableDatabase.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableDatabase.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableDatabase.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableDatabase.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableFilterRule.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableFilterRule.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableFilterRule.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableFilterRule.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectFilterRule.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectRule.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectRule.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectRule.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableProjectRule.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableSchema.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableSchema.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableSchema.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableSchema.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableTableScan.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableTableScan.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableTableScan.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/metadata/translatable/TranslatableTableScan.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java
similarity index 99%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java
index 4c31fb14702..ceaead061bb 100644
--- a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java
+++ b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/SQLOptimizerRexNodeVisitor.java
@@ -48,7 +48,7 @@ import org.apache.shardingsphere.rexnode.autogen.SQLOptimizerRexNodeParser.Param
import org.apache.shardingsphere.rexnode.autogen.SQLOptimizerRexNodeParser.ParameterContext;
import org.apache.shardingsphere.rexnode.autogen.SQLOptimizerRexNodeParser.SearchArgsContext;
import org.apache.shardingsphere.rexnode.autogen.SQLOptimizerRexNodeParser.TypeContext;
-import org.apache.shardingsphere.sqlfederation.optimizer.converter.exception.OptimizationSQLRexNodeException;
+import org.apache.shardingsphere.sqlfederation.exception.OptimizationSQLRexNodeException;
import java.math.BigDecimal;
import java.sql.Date;
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/StringToRexNodeUtils.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/StringToRexNodeUtils.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/StringToRexNodeUtils.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/rexnode/StringToRexNodeUtils.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationDataTypeUtils.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationDataTypeUtils.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationDataTypeUtils.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationDataTypeUtils.java
diff --git a/kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationPlannerUtils.java b/kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationPlannerUtils.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationPlannerUtils.java
rename to kernel/sql-federation/core/src/main/java/org/apache/shardingsphere/sqlfederation/optimizer/util/SQLFederationPlannerUtils.java
diff --git a/kernel/sql-federation/optimizer/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder b/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder
similarity index 100%
rename from kernel/sql-federation/optimizer/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder
rename to kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder
diff --git a/kernel/sql-federation/executor/advanced/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor b/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor
similarity index 89%
rename from kernel/sql-federation/executor/advanced/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor
rename to kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor
index ae3887c3366..2f2bf7d5b24 100644
--- a/kernel/sql-federation/executor/advanced/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor
+++ b/kernel/sql-federation/core/src/main/resources/META-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationExecutor
@@ -15,4 +15,4 @@
# limitations under the License.
#
-org.apache.shardingsphere.sqlfederation.advanced.AdvancedSQLFederationExecutor
+org.apache.shardingsphere.sqlfederation.executor.resultset.AdvancedSQLFederationExecutor
diff --git a/kernel/sql-federation/executor/core/src/main/resources/saffron.properties b/kernel/sql-federation/core/src/main/resources/saffron.properties
similarity index 100%
rename from kernel/sql-federation/executor/core/src/main/resources/saffron.properties
rename to kernel/sql-federation/core/src/main/resources/saffron.properties
diff --git a/kernel/sql-federation/executor/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java
similarity index 91%
rename from kernel/sql-federation/executor/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java
index 7da9153d361..84f4837dafb 100644
--- a/kernel/sql-federation/executor/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java
+++ b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/FilterableTableScanExecutorTest.java
@@ -28,6 +28,7 @@ import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSp
import org.apache.shardingsphere.sqlfederation.optimizer.context.OptimizerContext;
import org.apache.shardingsphere.sqlfederation.optimizer.executor.ScanNodeExecutorContext;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
import java.util.Collections;
@@ -42,9 +43,9 @@ class FilterableTableScanExecutorTest {
@Test
void assertExecuteWithShardingSphereData() {
- OptimizerContext optimizerContext = mock(OptimizerContext.class, RETURNS_DEEP_STUBS);
+ OptimizerContext optimizerContext = Mockito.mock(OptimizerContext.class, RETURNS_DEEP_STUBS);
when(optimizerContext.getParserContext(any()).getDatabaseType().getType()).thenReturn("PostgreSQL");
- TableScanExecutorContext executorContext = mock(TableScanExecutorContext.class);
+ TableScanExecutorContext executorContext = Mockito.mock(TableScanExecutorContext.class);
when(executorContext.getDatabaseName()).thenReturn("db");
when(executorContext.getSchemaName()).thenReturn("pg_catalog");
ShardingSphereData shardingSphereData = mock(ShardingSphereData.class, RETURNS_DEEP_STUBS);
@@ -58,7 +59,7 @@ class FilterableTableScanExecutorTest {
ShardingSphereTable shardingSphereTable = mock(ShardingSphereTable.class);
when(shardingSphereTable.getName()).thenReturn("test");
Enumerable<Object[]> enumerable = new FilterableTableScanExecutor(null, null, null, optimizerContext, null, executorContext, shardingSphereData)
- .execute(shardingSphereTable, mock(ScanNodeExecutorContext.class));
+ .execute(shardingSphereTable, Mockito.mock(ScanNodeExecutorContext.class));
Enumerator<Object[]> actual = enumerable.enumerator();
actual.moveNext();
Object[] row = actual.current();
diff --git a/kernel/sql-federation/executor/advanced/src/test/java/org/apache/shardingsphere/sqlfederation/advanced/result/SQLFederationResultSetTest.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/result/SQLFederationResultSetTest.java
similarity index 97%
rename from kernel/sql-federation/executor/advanced/src/test/java/org/apache/shardingsphere/sqlfederation/advanced/result/SQLFederationResultSetTest.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/result/SQLFederationResultSetTest.java
index 235f7e0ecb4..67f137f469f 100644
--- a/kernel/sql-federation/executor/advanced/src/test/java/org/apache/shardingsphere/sqlfederation/advanced/result/SQLFederationResultSetTest.java
+++ b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/executor/result/SQLFederationResultSetTest.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.sqlfederation.advanced.result;
+package org.apache.shardingsphere.sqlfederation.executor.result;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.calcite.rel.type.RelDataType;
@@ -24,11 +24,12 @@ import org.apache.shardingsphere.infra.binder.segment.select.projection.impl.Col
import org.apache.shardingsphere.infra.binder.segment.table.TablesContext;
import org.apache.shardingsphere.infra.binder.statement.dml.SelectStatementContext;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.sqlfederation.advanced.resultset.SQLFederationResultSet;
+import org.apache.shardingsphere.sqlfederation.executor.resultset.SQLFederationResultSet;
import org.apache.shardingsphere.sqlfederation.optimizer.metadata.filter.FilterableSchema;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
import java.io.InputStream;
import java.io.Reader;
@@ -68,7 +69,8 @@ class SQLFederationResultSetTest {
@BeforeEach
void setUp() {
enumerator = createEnumerator();
- federationResultSet = new SQLFederationResultSet(enumerator, mock(ShardingSphereSchema.class), mock(FilterableSchema.class), createSelectStatementContext(), mock(RelDataType.class));
+ federationResultSet =
+ new SQLFederationResultSet(enumerator, mock(ShardingSphereSchema.class), Mockito.mock(FilterableSchema.class), createSelectStatementContext(), Mockito.mock(RelDataType.class));
}
private SelectStatementContext createSelectStatementContext() {
@@ -84,7 +86,7 @@ class SQLFederationResultSetTest {
@SuppressWarnings("unchecked")
private Enumerator<Object> createEnumerator() {
- Enumerator<Object> result = mock(Enumerator.class);
+ Enumerator<Object> result = Mockito.mock(Enumerator.class);
when(result.moveNext()).thenReturn(true, false);
when(result.current()).thenReturn(new Object[]{1, 1, "OK", 1});
return result;
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextTest.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextTest.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextTest.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/context/OptimizerContextTest.java
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverterTest.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverterTest.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverterTest.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/converter/type/CombineOperatorConverterTest.java
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java
similarity index 99%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java
index ea3c1af4f01..058cc22bc75 100644
--- a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java
+++ b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/SQLOptimizeEngineIT.java
@@ -45,6 +45,7 @@ import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.ArgumentsProvider;
import org.junit.jupiter.params.provider.ArgumentsSource;
+import org.mockito.Mockito;
import javax.xml.bind.JAXBException;
import java.io.IOException;
@@ -58,7 +59,6 @@ import java.util.stream.Stream;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.MatcherAssert.assertThat;
-import static org.mockito.Mockito.mock;
class SQLOptimizeEngineIT {
@@ -240,7 +240,7 @@ class SQLOptimizeEngineIT {
CalciteCatalogReader catalogReader = SQLFederationPlannerUtils.createCatalogReader(SCHEMA_NAME, federationSchema, relDataTypeFactory, connectionConfig);
SqlValidator validator = SQLFederationPlannerUtils.createSqlValidator(catalogReader, relDataTypeFactory, databaseType, connectionConfig);
RelOptCluster cluster = RelOptCluster.create(SQLFederationPlannerUtils.createVolcanoPlanner(), new RexBuilder(relDataTypeFactory));
- return SQLFederationPlannerUtils.createSqlToRelConverter(catalogReader, validator, cluster, mock(SQLParserRule.class), databaseType, false);
+ return SQLFederationPlannerUtils.createSqlToRelConverter(catalogReader, validator, cluster, Mockito.mock(SQLParserRule.class), databaseType, false);
}
@ParameterizedTest(name = "{0}")
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCase.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCase.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCase.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCase.java
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCaseAssertion.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCaseAssertion.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCaseAssertion.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCaseAssertion.java
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCases.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCases.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCases.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCases.java
diff --git a/kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCasesLoader.java b/kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCasesLoader.java
similarity index 100%
rename from kernel/sql-federation/optimizer/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCasesLoader.java
rename to kernel/sql-federation/core/src/test/java/org/apache/shardingsphere/sqlfederation/optimizer/it/TestCasesLoader.java
diff --git a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml b/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
similarity index 96%
rename from kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml
rename to kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
index e0050bc429e..5ce839aeced 100644
--- a/kernel/sql-federation/optimizer/src/test/resources/cases/federation-query-sql-cases.xml
+++ b/kernel/sql-federation/core/src/test/resources/cases/federation-query-sql-cases.xml
@@ -18,7 +18,7 @@
<test-cases>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id, t_user_info.user_id FROM t_order_federate JOIN t_user_info ON t_order_federate.user_id = t_user_info.user_id WHERE t_user_info.user_id = 13">
- <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR], proj#0..1=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_user_in [...]
+ <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR CHARACTER SET "UTF-8"], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR CHARACTER SET "UTF-8"], proj#0..1=[{expr [...]
</test-case>
<test-case sql="SELECT user_id, information FROM t_user_info WHERE user_id = 12">
@@ -30,15 +30,15 @@
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id, t_user_info.user_id FROM t_order_federate , t_user_info WHERE t_order_federate.user_id = t_user_info.user_id">
- <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR], proj#0..1=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_user_in [...]
+ <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR CHARACTER SET "UTF-8"], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR CHARACTER SET "UTF-8"], proj#0..1=[{expr [...]
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id, t_user_info.user_id FROM t_order_federate JOIN t_user_info ON t_order_federate.user_id = t_user_info.user_id">
- <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR], proj#0..1=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_user_in [...]
+ <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR CHARACTER SET "UTF-8"], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR CHARACTER SET "UTF-8"], proj#0..1=[{expr [...]
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id, t_user_info.user_id FROM t_order_federate ,t_user_info WHERE t_order_federate.user_id = t_user_info.user_id AND t_user_info.user_id = 13">
- <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR], proj#0..1=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_user_in [...]
+ <assertion expected-result="EnumerableCalc(expr#0..4=[{inputs}], proj#0..1=[{exprs}], user_id0=[$t3]) EnumerableHashJoin(condition=[=($2, $4)], joinType=[inner]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[CAST($t1):VARCHAR CHARACTER SET "UTF-8"], proj#0..2=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[CAST($t0):VARCHAR CHARACTER SET "UTF-8"], proj#0..1=[{expr [...]
</test-case>
<test-case sql="SELECT user.user_id, user.information FROM (SELECT * FROM t_user_info WHERE user_id > 1) as user ">
@@ -46,7 +46,7 @@
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id FROM t_order_federate WHERE EXISTS (SELECT * FROM t_user_info WHERE t_order_federate.user_id = t_user_info.user_id)">
- <assertion expected-result="EnumerableCalc(expr#0..3=[{inputs}], expr#4=[IS NOT NULL($t3)], proj#0..1=[{exprs}], $condition=[$t4]) EnumerableCorrelate(correlation=[$cor0], joinType=[left], requiredColumns=[{1}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableAggregate(group=[{}], agg#0=[MIN($0)]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[true], expr#3=[$cor0], expr#4=[$t3.user_id], expr#5=[CAST($t4):VARCHAR], expr#6=[ [...]
+ <assertion expected-result="EnumerableCalc(expr#0..3=[{inputs}], expr#4=[IS NOT NULL($t3)], proj#0..1=[{exprs}], $condition=[$t4]) EnumerableCorrelate(correlation=[$cor0], joinType=[left], requiredColumns=[{1}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableAggregate(group=[{}], agg#0=[MIN($0)]) EnumerableCalc(expr#0..1=[{inputs}], expr#2=[true], expr#3=[$cor0], expr#4=[$t3.user_id], expr#5=[CAST($t4):VARCHAR CHARACTER [...]
</test-case>
<test-case sql="SELECT t_order_federate.order_id, t_order_federate.user_id FROM t_order_federate WHERE t_order_federate.user_id IN (SELECT t_user_info.user_id FROM t_user_info)">
@@ -58,7 +58,7 @@
</test-case>
<test-case sql="SELECT order_id, user_id FROM t_order_federate UNION SELECT 1, user_id FROM t_user_info WHERE information = 'before'">
- <assertion expected-result="EnumerableUnion(all=[false]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=['1':VARCHAR], EXPR$0=[$t1], user_id=[$t0]) TranslatableTableScan(table=[[federate_jdbc, t_user_info]], fields=[[0]], filters=[[=(CAST($1):VARCHAR, 'before'){1=12}, null]])" />
+ <assertion expected-result="EnumerableUnion(all=[false]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1]]) EnumerableCalc(expr#0=[{inputs}], expr#1=[_UTF-8'1':VARCHAR CHARACTER SET "UTF-8"], EXPR$0=[$t1], user_id=[$t0]) TranslatableTableScan(table=[[federate_jdbc, t_user_info]], fields=[[0]], filters=[[=(CAST($1):VARCHAR CHARACTER SET "UTF-8", _UTF-8'before'){1=12}, null]])" />
</test-case>
<test-case sql="SELECT order_id, user_id FROM t_order_federate LIMIT 1">
@@ -74,7 +74,7 @@
</test-case>
<test-case sql="select t_order_federate.*, t_order_item_federate_sharding.* from t_order_federate, t_order_item_federate_sharding where t_order_federate.order_id = t_order_item_federate_sharding.item_id AND t_order_item_federate_sharding.remarks = 't_order_item_federate_sharding' ">
- <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], status0=[$t7], remarks=[$t8]) EnumerableHashJoin(condition=[=($3, $9)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], proj#0..5=[{ [...]
+ <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], status0=[$t7], remarks=[$t8]) EnumerableHashJoin(condition=[=($3, $9)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], proj#0..5=[{ [...]
</test-case>
<test-case sql="select o.*, i.* from t_order_federate o, t_order_item_federate_sharding i where o.order_id = i.item_id">
@@ -186,11 +186,11 @@
</test-case>
<test-case sql="SELECT GROUP_CONCAT(i.item_id SEPARATOR ';') AS item_ids FROM t_order_federate o INNER JOIN t_order_item_federate_sharding i ON o.order_id = i.item_id WHERE i.order_id >= 10000">
- <assertion expected-result="EnumerableAggregate(group=[{}], item_ids=[LISTAGG($0, $1)]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[';'], $f0=[$t2], $f1=[$t3]) EnumerableHashJoin(condition=[=($0, $1)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], order_id0=[$t3]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], expr#6=[CA [...]
+ <assertion expected-result="EnumerableAggregate(group=[{}], item_ids=[LISTAGG($0, $1)]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[_UTF-8';'], $f0=[$t2], $f1=[$t3]) EnumerableHashJoin(condition=[=($0, $1)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], order_id0=[$t3]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], expr [...]
</test-case>
<test-case sql="select t_order_federate.*, t_order_item_federate_sharding.* from t_order_federate, t_order_item_federate_sharding where t_order_federate.order_id = t_order_item_federate_sharding.item_id AND t_order_item_federate_sharding.remarks = 't_order_item_federate_sharding' ">
- <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], status0=[$t7], remarks=[$t8]) EnumerableHashJoin(condition=[=($3, $9)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], proj#0..5=[{ [...]
+ <assertion expected-result="EnumerableCalc(expr#0..9=[{inputs}], proj#0..2=[{exprs}], item_id=[$t4], order_id1=[$t5], user_id0=[$t6], status0=[$t7], remarks=[$t8]) EnumerableHashJoin(condition=[=($3, $9)], joinType=[inner]) EnumerableCalc(expr#0..2=[{inputs}], expr#3=[CAST($t0):INTEGER], proj#0..3=[{exprs}]) TranslatableTableScan(table=[[federate_jdbc, t_order_federate]], fields=[[0, 1, 2]]) EnumerableCalc(expr#0..4=[{inputs}], expr#5=[CAST($t0):INTEGER], proj#0..5=[{ [...]
</test-case>
<test-case sql="select o.*, i.* from t_order_federate o, t_order_item_federate_sharding i where o.order_id = i.item_id">
@@ -409,7 +409,6 @@
<assertion expected-result="EnumerableLimit(offset=[5], fetch=[5]) EnumerableMergeUnion(all=[true]) EnumerableLimit(fetch=[10]) EnumerableSort(sort0=[$0], dir0=[ASC]) TranslatableTableScan(table=[[federate_jdbc, t_order]], fields=[[0, 1, 2, 3, 4, 5]]) EnumerableLimit(fetch=[10]) EnumerableSort(sort0=[$0], dir0=[ASC]) TranslatableTableScan(table=[[federate_jdbc, t_order]], fields=[[0, 1, 2, 3, 4, 5]])" />
</test-case>
-
<!-- ONLY String and Integer are supported by federation query -->
<test-case sql="SELECT * FROM multi_types_first first JOIN multi_types_second second ON first.id = second.id WHERE second.tiny_int_column = 1">
<assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($2):INTEGER, 1){2=-6}, null, null, null, null, null, null, null, null, nu [...]
@@ -428,14 +427,14 @@
</test-case>
<test-case sql="SELECT * FROM multi_types_first first JOIN multi_types_second second ON first.id = second.id WHERE second.char_column = '1'">
- <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($11):VARCHAR, '1'){11=1}, null, null, null, null, null, null, null, null, [...]
+ <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($11):VARCHAR CHARACTER SET "UTF-8", _UTF-8'1'){11=1}, null, nul [...]
</test-case>
<test-case sql="SELECT * FROM multi_types_first first JOIN multi_types_second second ON first.id = second.id WHERE second.varchar_column = '1'">
- <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($12):VARCHAR, '1'){12=12}, null, null, null, null, null, null, null, null [...]
+ <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($12):VARCHAR CHARACTER SET "UTF-8", _UTF-8'1'){12=12}, null, nu [...]
</test-case>
<test-case sql="SELECT * FROM multi_types_first first JOIN multi_types_second second ON first.id = second.id WHERE second.long_varchar_column = '1'">
- <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($13):VARCHAR, '1'){13=-1}, null, null, null, null, null, null, null, null [...]
+ <assertion expected-result="EnumerableHashJoin(condition=[=($0, $22)], joinType=[inner]) TranslatableTableScan(table=[[federate_jdbc, multi_types_first]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) TranslatableTableScan(table=[[federate_jdbc, multi_types_second]], fields=[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]], filters=[[=(CAST($13):VARCHAR CHARACTER SET "UTF-8", _UTF-8'1'){13=-1}, null, nu [...]
</test-case>
</test-cases>
diff --git a/kernel/sql-federation/executor/advanced/src/test/resources/logback-test.xml b/kernel/sql-federation/core/src/test/resources/logback-test.xml
similarity index 100%
rename from kernel/sql-federation/executor/advanced/src/test/resources/logback-test.xml
rename to kernel/sql-federation/core/src/test/resources/logback-test.xml
diff --git a/kernel/sql-federation/executor/advanced/pom.xml b/kernel/sql-federation/executor/advanced/pom.xml
deleted file mode 100644
index bf2ce069c52..00000000000
--- a/kernel/sql-federation/executor/advanced/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor</artifactId>
- <version>5.3.3-SNAPSHOT</version>
- </parent>
- <artifactId>shardingsphere-sql-federation-executor-advanced</artifactId>
- <name>${project.artifactId}</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-executor</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-merge</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-sql92</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-mysql</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-postgresql</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-oracle</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-sqlserver</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-opengauss</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/kernel/sql-federation/executor/core/pom.xml b/kernel/sql-federation/executor/core/pom.xml
deleted file mode 100644
index f7a4c1f6cc6..00000000000
--- a/kernel/sql-federation/executor/core/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor</artifactId>
- <version>5.3.3-SNAPSHOT</version>
- </parent>
- <artifactId>shardingsphere-sql-federation-executor-core</artifactId>
- <name>${project.artifactId}</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-optimizer</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-context</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-merge</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/SQLFederationDriverRegisterException.java b/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/SQLFederationDriverRegisterException.java
deleted file mode 100644
index 633aa5a5c6e..00000000000
--- a/kernel/sql-federation/executor/core/src/main/java/org/apache/shardingsphere/sqlfederation/exception/SQLFederationDriverRegisterException.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * 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.sqlfederation.exception;
-
-import org.apache.shardingsphere.infra.exception.ConnectionSQLException;
-import org.apache.shardingsphere.infra.util.exception.external.sql.sqlstate.XOpenSQLState;
-
-/**
- * SQL federation driver register exception.
- */
-public final class SQLFederationDriverRegisterException extends ConnectionSQLException {
-
- private static final long serialVersionUID = -2853184636838700216L;
-
- public SQLFederationDriverRegisterException(final String message) {
- super(XOpenSQLState.CONNECTION_EXCEPTION, 1, "Can not register SQL federation driver, reason is: %s", message);
- }
-}
diff --git a/kernel/sql-federation/executor/pom.xml b/kernel/sql-federation/executor/pom.xml
deleted file mode 100644
index 8076bba13e8..00000000000
--- a/kernel/sql-federation/executor/pom.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation</artifactId>
- <version>5.3.3-SNAPSHOT</version>
- </parent>
- <artifactId>shardingsphere-sql-federation-executor</artifactId>
- <packaging>pom</packaging>
- <name>${project.artifactId}</name>
-
- <modules>
- <module>advanced</module>
- <module>core</module>
- </modules>
-</project>
diff --git a/kernel/sql-federation/optimizer/pom.xml b/kernel/sql-federation/optimizer/pom.xml
deleted file mode 100644
index 73a7af48c77..00000000000
--- a/kernel/sql-federation/optimizer/pom.xml
+++ /dev/null
@@ -1,175 +0,0 @@
-<?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.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation</artifactId>
- <version>5.3.3-SNAPSHOT</version>
- </parent>
- <artifactId>shardingsphere-sql-federation-optimizer</artifactId>
- <name>${project.artifactId}</name>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-common</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-infra-binder</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-parser-core</artifactId>
- <version>${project.version}</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-sql92</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-mysql</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-postgresql</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-oracle</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-sqlserver</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-parser-sql-opengauss</artifactId>
- <version>${project.version}</version>
- <scope>test</scope>
- </dependency>
-
- <dependency>
- <groupId>org.apache.calcite</groupId>
- <artifactId>calcite-core</artifactId>
- </dependency>
-
- <dependency>
- <groupId>javax.xml.bind</groupId>
- <artifactId>jaxb-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.sun.xml.bind</groupId>
- <artifactId>jaxb-impl</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>javax.activation-api</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.google.code.gson</groupId>
- <artifactId>gson</artifactId>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-failsafe-plugin</artifactId>
- <executions>
- <execution>
- <id>integration-tests</id>
- <goals>
- <goal>integration-test</goal>
- <goal>verify</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
- <profiles>
- <profile>
- <id>jdk8</id>
- <activation>
- <jdk>1.8</jdk>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.codehaus.mojo</groupId>
- <artifactId>build-helper-maven-plugin</artifactId>
- </plugin>
- </plugins>
- </build>
- </profile>
- <profile>
- <id>jdk11+</id>
- <activation>
- <jdk>[11,)</jdk>
- </activation>
- <build>
- <plugins>
- <plugin>
- <groupId>org.antlr</groupId>
- <artifactId>antlr4-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>antlr</id>
- <goals>
- <goal>antlr4</goal>
- </goals>
- <configuration>
- <libDirectory>src/main/antlr4/imports/rexnode/</libDirectory>
- <listener>false</listener>
- <visitor>true</visitor>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-</project>
diff --git a/kernel/sql-federation/optimizer/src/test/resources/logback-test.xml b/kernel/sql-federation/optimizer/src/test/resources/logback-test.xml
deleted file mode 100644
index d90fc4a7156..00000000000
--- a/kernel/sql-federation/optimizer/src/test/resources/logback-test.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-<!--
- ~ 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.
- -->
-
-<configuration>
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern>
- </encoder>
- </appender>
- <logger name="org.apache.shardingsphere" level="warn" additivity="false">
- <appender-ref ref="console" />
- </logger>
-
- <root>
- <level value="error" />
- <appender-ref ref="console" />
- </root>
-</configuration>
diff --git a/kernel/sql-federation/pom.xml b/kernel/sql-federation/pom.xml
index 51cd5dc24e4..9cb483d3b7b 100644
--- a/kernel/sql-federation/pom.xml
+++ b/kernel/sql-federation/pom.xml
@@ -31,7 +31,5 @@
<modules>
<module>api</module>
<module>core</module>
- <module>executor</module>
- <module>optimizer</module>
</modules>
</project>
diff --git a/proxy/backend/core/pom.xml b/proxy/backend/core/pom.xml
index 75c4abcd2c0..37fe331fb75 100644
--- a/proxy/backend/core/pom.xml
+++ b/proxy/backend/core/pom.xml
@@ -198,11 +198,6 @@
<artifactId>shardingsphere-sql-federation-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-advanced</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-logging-core</artifactId>
diff --git a/report/pom.xml b/report/pom.xml
index c9d47804f66..a049edd63b4 100644
--- a/report/pom.xml
+++ b/report/pom.xml
@@ -572,21 +572,6 @@
<artifactId>shardingsphere-sql-federation-core</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-optimizer</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-core</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-advanced</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-logging-core</artifactId>
diff --git a/test/it/optimizer/pom.xml b/test/it/optimizer/pom.xml
index 0ec15580977..d8388718b0d 100644
--- a/test/it/optimizer/pom.xml
+++ b/test/it/optimizer/pom.xml
@@ -34,12 +34,7 @@
<dependencies>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-optimizer</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.shardingsphere</groupId>
- <artifactId>shardingsphere-sql-federation-executor-core</artifactId>
+ <artifactId>shardingsphere-sql-federation-core</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
index 919b55b25ed..dd9d341bc30 100644
--- a/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
+++ b/test/it/optimizer/src/test/java/org/apache/shardingsphere/test/it/optimizer/converter/SQLNodeConverterEngineIT.java
@@ -22,7 +22,7 @@ import org.apache.shardingsphere.sql.parser.api.CacheOption;
import org.apache.shardingsphere.sql.parser.api.SQLParserEngine;
import org.apache.shardingsphere.sql.parser.api.SQLStatementVisitorEngine;
import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
-import org.apache.shardingsphere.sqlfederation.SQLDialectFactory;
+import org.apache.shardingsphere.sqlfederation.executor.SQLDialectFactory;
import org.apache.shardingsphere.sqlfederation.optimizer.converter.SQLNodeConverterEngine;
import org.apache.shardingsphere.test.it.optimizer.converter.cases.SQLNodeConverterTestCases;
import org.apache.shardingsphere.test.it.optimizer.converter.cases.SQLNodeConverterTestCasesRegistry;