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

zhangliang 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 d1057c5dca3 Move DialectDatabaseMetaData to metadata package (#35182)
d1057c5dca3 is described below

commit d1057c5dca3fe756296ae7ea7bc89972d424d1e7
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Sun Apr 13 19:13:20 2025 +0800

    Move DialectDatabaseMetaData to metadata package (#35182)
    
    * Move DialectDatabaseMetaData to metadata package
    
    * Move DialectDatabaseMetaData to metadata package
---
 .../encrypt/enums/EncryptDerivedColumnSuffix.java          |  2 +-
 .../assignment/EncryptAssignmentTokenGeneratorTest.java    |  2 +-
 .../EncryptInsertDerivedColumnsTokenGeneratorTest.java     |  2 +-
 .../insert/EncryptInsertOnUpdateTokenGeneratorTest.java    |  2 +-
 .../sharding/merge/dql/ShardingDQLResultMerger.java        |  2 +-
 .../metadata/data/ShardingTableStatisticsCollector.java    |  2 +-
 .../select/orderby/engine/OrderByContextEngine.java        |  2 +-
 .../segment/dml/from/type/JoinTableSegmentBinder.java      |  6 +++---
 .../segment/dml/from/type/SimpleTableSegmentBinder.java    |  2 +-
 .../org/apache/shardingsphere/infra/datanode/DataNode.java |  2 +-
 .../database/schema/builder/SystemSchemaBuilder.java       |  2 +-
 .../metadata/database/schema/util/SystemSchemaUtils.java   |  2 +-
 .../builder/ShardingSphereStatisticsFactory.java           |  2 +-
 .../metadata/data/loader/MetaDataLoaderConnection.java     |  2 +-
 .../metadata/data/loader/type/ColumnMetaDataLoader.java    |  2 +-
 .../metadata/data/loader/type/SchemaMetaDataLoader.java    |  2 +-
 .../metadata/data/loader/type/TableMetaDataLoader.java     |  2 +-
 .../database/{ => metadata}/DialectDatabaseMetaData.java   | 14 +++++++-------
 .../option/DialectJoinOrderOption.java}                    |  6 +++---
 .../option/DialectTransactionOption.java}                  |  6 +++---
 .../infra/database/core/type/DatabaseTypeRegistry.java     |  2 +-
 .../database/fixture/BranchDialectDatabaseMetaData.java    |  2 +-
 .../database/fixture/TrunkDialectDatabaseMetaData.java     |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/ClickHouseDatabaseMetaData.java      |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/ClickHouseDatabaseMetaDataTest.java  |  2 +-
 .../metadata/database/FirebirdDatabaseMetaData.java        |  8 ++++----
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/FirebirdDatabaseMetaDataTest.java    |  2 +-
 .../database/h2/metadata/database/H2DatabaseMetaData.java  |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../h2/metadata/database/H2DatabaseMetaDataTest.java       |  2 +-
 .../hive/metadata/database/HiveDatabaseMetaData.java       |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../hive/metadata/database/HiveDatabaseMetaDataTest.java   |  2 +-
 .../mysql/metadata/database/MySQLDatabaseMetaData.java     | 14 +++++++-------
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../mysql/metadata/database/MySQLDatabaseMetaDataTest.java |  2 +-
 .../metadata/database/OpenGaussDatabaseMetaData.java       |  8 ++++----
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/OpenGaussDatabaseMetaDataTest.java   |  2 +-
 .../oracle/metadata/database/OracleDatabaseMetaData.java   |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/OracleDatabaseMetaDataTest.java      |  2 +-
 .../metadata/database/PostgreSQLDatabaseMetaData.java      |  8 ++++----
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/PostgreSQLDatabaseMetaDataTest.java  |  2 +-
 .../presto/metadata/database/PrestoDatabaseMetaData.java   |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../presto/database/PrestoDatabaseMetaDataTest.java        |  2 +-
 .../sql92/metadata/database/SQL92DatabaseMetaData.java     |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../sql92/metadata/database/SQL92DatabaseMetaDataTest.java |  2 +-
 .../metadata/database/SQLServerDatabaseMetaData.java       |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../metadata/database/SQLServerDatabaseMetaDataTest.java   |  2 +-
 .../executor/rql/resource/ShowLogicalTablesExecutor.java   |  2 +-
 .../generated-reachability-metadata/resource-config.json   |  2 +-
 .../common/generator/generic/RemoveTokenGenerator.java     |  2 +-
 .../pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java   |  4 ++--
 .../jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java      |  4 ++--
 .../driver/jdbc/adapter/AbstractStatementAdapter.java      |  2 +-
 .../data/pipeline/core/importer/ImporterConfiguration.java |  2 +-
 .../loader/StandardPipelineTableMetaDataLoader.java        |  2 +-
 .../preparer/datasource/PipelineJobDataSourcePreparer.java |  2 +-
 .../core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java |  2 +-
 .../data/pipeline/cdc/handler/CDCBackendHandler.java       |  2 +-
 .../data/pipeline/cdc/util/CDCSchemaTableUtils.java        |  2 +-
 .../pipeline/scenario/migration/api/MigrationJobAPI.java   |  2 +-
 .../shardingsphere/single/util/SingleTableLoadUtils.java   |  2 +-
 .../distsql/handler/update/LoadSingleTableExecutor.java    |  2 +-
 .../proxy/backend/connector/ProxySQLExecutor.java          |  4 ++--
 .../handler/database/DropDatabaseBackendHandler.java       |  2 +-
 .../proxy/backend/handler/tcl/TCLBackendHandler.java       |  2 +-
 .../information/SelectInformationSchemataExecutorTest.java |  2 +-
 .../test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java         |  2 +-
 .../test/e2e/env/DataSetEnvironmentManager.java            |  2 +-
 .../fixture/database/DialectDatabaseMetaDataFixture.java   |  2 +-
 ...ore.metadata.database.metadata.DialectDatabaseMetaData} |  0
 .../it/data/pipeline/core/util/PipelineContextUtils.java   |  2 +-
 81 files changed, 98 insertions(+), 98 deletions(-)

diff --git 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
index 61876666f54..2d7de89c77d 100644
--- 
a/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
+++ 
b/features/encrypt/core/src/main/java/org/apache/shardingsphere/encrypt/enums/EncryptDerivedColumnSuffix.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.encrypt.enums;
 
 import lombok.AccessLevel;
 import lombok.RequiredArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
index fa10e2de6dc..c89e9dd667c 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/assignment/EncryptAssignmentTokenGeneratorTest.java
@@ -21,7 +21,7 @@ import org.apache.shardingsphere.encrypt.rule.EncryptRule;
 import org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import 
org.apache.shardingsphere.infra.binder.context.segment.table.TablesContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.assignment.ColumnAssignmentSegment;
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGeneratorTest.java
index 9cd19964bcb..3a7b12f385d 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertDerivedColumnsTokenGeneratorTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import org.apache.shardingsphere.encrypt.spi.EncryptAlgorithm;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.rewrite.sql.token.common.pojo.SQLToken;
diff --git 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGeneratorTest.java
 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGeneratorTest.java
index e1474814da4..3c0f18f9538 100644
--- 
a/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGeneratorTest.java
+++ 
b/features/encrypt/core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/insert/EncryptInsertOnUpdateTokenGeneratorTest.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.encrypt.rule.column.EncryptColumn;
 import org.apache.shardingsphere.encrypt.rule.table.EncryptTable;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.InsertStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
index df234dc60ea..7d232caae7a 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dql/ShardingDQLResultMerger.java
@@ -23,7 +23,7 @@ import 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.Ord
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.pagination.PaginationContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
index 02c8bb5318b..fa32a2ea4b0 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.sharding.metadata.data;
 
 import com.cedarsoftware.util.CaseInsensitiveMap;
 import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/orderby/engine/OrderByContextEngine.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/orderby/engine/OrderByContextEngine.java
index c9e157f86cf..03c68af8080 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/orderby/engine/OrderByContextEngine.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/context/segment/select/orderby/engine/OrderByContextEngine.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.en
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.groupby.GroupByContext;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.OrderByContext;
 import 
org.apache.shardingsphere.infra.binder.context.segment.select.orderby.OrderByItem;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.sql.parser.statement.core.enums.OrderDirection;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.dml.item.ColumnProjectionSegment;
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/JoinTableSegmentBinder.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/JoinTableSegmentBinder.java
index af176c86aa7..0edb1f90916 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/JoinTableSegmentBinder.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/JoinTableSegmentBinder.java
@@ -29,7 +29,7 @@ import 
org.apache.shardingsphere.infra.binder.engine.segment.dml.expression.type
 import 
org.apache.shardingsphere.infra.binder.engine.segment.dml.from.TableSegmentBinder;
 import 
org.apache.shardingsphere.infra.binder.engine.segment.dml.from.context.TableSegmentBinderContext;
 import 
org.apache.shardingsphere.infra.binder.engine.statement.SQLStatementBinderContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseJoinOrderOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectJoinOrderOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
@@ -114,7 +114,7 @@ public final class JoinTableSegmentBinder {
     private static Collection<ProjectionSegment> 
getDerivedJoinTableProjectionSegments(final JoinTableSegment segment, final 
DatabaseType databaseType,
                                                                                
        final Map<String, ProjectionSegment> usingColumnsByNaturalJoin,
                                                                                
        final Multimap<CaseInsensitiveString, TableSegmentBinderContext> 
tableBinderContexts) {
-        DialectDatabaseJoinOrderOption joinOrderOption = new 
DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getJoinOrderOption();
+        DialectJoinOrderOption joinOrderOption = new 
DatabaseTypeRegistry(databaseType).getDialectDatabaseMetaData().getJoinOrderOption();
         Collection<ProjectionSegment> projectionSegments = 
getProjectionSegments(segment, joinOrderOption, tableBinderContexts);
         if (segment.getUsing().isEmpty() && !segment.isNatural()) {
             return projectionSegments;
@@ -129,7 +129,7 @@ public final class JoinTableSegmentBinder {
         return result;
     }
     
-    private static Collection<ProjectionSegment> getProjectionSegments(final 
JoinTableSegment segment, final DialectDatabaseJoinOrderOption joinOrderOption,
+    private static Collection<ProjectionSegment> getProjectionSegments(final 
JoinTableSegment segment, final DialectJoinOrderOption joinOrderOption,
                                                                        final 
Multimap<CaseInsensitiveString, TableSegmentBinderContext> tableBinderContexts) 
{
         Collection<ProjectionSegment> result = new LinkedList<>();
         if (joinOrderOption.isRightColumnsByFirstOrder() && 
JoinType.RIGHT.name().equalsIgnoreCase(segment.getJoinType()) && 
(!segment.getUsing().isEmpty() || segment.isNatural())) {
diff --git 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/SimpleTableSegmentBinder.java
 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/SimpleTableSegmentBinder.java
index a0c259a1bc7..3ed922a95cd 100644
--- 
a/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/SimpleTableSegmentBinder.java
+++ 
b/infra/binder/src/main/java/org/apache/shardingsphere/infra/binder/engine/segment/dml/from/type/SimpleTableSegmentBinder.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.infra.binder.engine.segment.dml.from.context.Ta
 import 
org.apache.shardingsphere.infra.binder.engine.segment.dml.from.context.type.SimpleTableSegmentBinderContext;
 import 
org.apache.shardingsphere.infra.binder.engine.segment.util.SubqueryTableBindUtils;
 import 
org.apache.shardingsphere.infra.binder.engine.statement.SQLStatementBinderContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
index 48e89143863..c6ec1f0f813 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/datanode/DataNode.java
@@ -23,7 +23,7 @@ import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 import lombok.ToString;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.kernel.metadata.datanode.InvalidDataNodeFormatException;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilder.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilder.java
index 9d0972466c2..bae85a4e5e3 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilder.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SystemSchemaBuilder.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
 import 
org.apache.shardingsphere.infra.config.props.temporary.TemporaryConfigurationPropertyKey;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.system.SystemDatabase;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
index aa19838ade4..cb84194e6b8 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SystemSchemaUtils.java
@@ -19,7 +19,7 @@ package 
org.apache.shardingsphere.infra.metadata.database.schema.util;
 
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.system.SystemDatabase;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
index 7e30cabf124..5496e9bb7cf 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.infra.metadata.statistics.builder;
 import com.cedarsoftware.util.CaseInsensitiveSet;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/MetaDataLoaderConnection.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/MetaDataLoaderConnection.java
index e07a4cf0808..a72d23a3489 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/MetaDataLoaderConnection.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/MetaDataLoaderConnection.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.core.metadata.data.loader;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/ColumnMetaDataLoader.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/ColumnMetaDataLoader.java
index 440c3358499..3dbb32c1343 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/ColumnMetaDataLoader.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/ColumnMetaDataLoader.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.infra.database.core.metadata.data.loader.type;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.infra.database.core.metadata.data.model.ColumnMetaData;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/SchemaMetaDataLoader.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/SchemaMetaDataLoader.java
index b4088cd1c3e..e0b08fae5fc 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/SchemaMetaDataLoader.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/SchemaMetaDataLoader.java
@@ -22,7 +22,7 @@ import com.cedarsoftware.util.CaseInsensitiveSet;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.infra.database.core.metadata.data.loader.MetaDataLoaderConnection;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.system.SystemDatabase;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
index 58a791f97b6..76a75a122f0 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/data/loader/type/TableMetaDataLoader.java
@@ -21,7 +21,7 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.infra.database.core.metadata.data.loader.MetaDataLoaderConnection;
 import 
org.apache.shardingsphere.infra.database.core.metadata.data.model.TableMetaData;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/DialectDatabaseMetaData.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
similarity index 91%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/DialectDatabaseMetaData.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
index ab0d76db45e..429a9d40caf 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/DialectDatabaseMetaData.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/DialectDatabaseMetaData.java
@@ -15,12 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.database.core.metadata.database;
+package 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata;
 
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseJoinOrderOption;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectJoinOrderOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPI;
 import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
 
@@ -137,8 +137,8 @@ public interface DialectDatabaseMetaData extends 
DatabaseTypedSPI {
      *
      * @return transaction option
      */
-    default DialectDatabaseTransactionOption getTransactionOption() {
-        return new DialectDatabaseTransactionOption(false, false, false, 
false, true);
+    default DialectTransactionOption getTransactionOption() {
+        return new DialectTransactionOption(false, false, false, false, true);
     }
     
     /**
@@ -146,7 +146,7 @@ public interface DialectDatabaseMetaData extends 
DatabaseTypedSPI {
      *
      * @return join order option
      */
-    default DialectDatabaseJoinOrderOption getJoinOrderOption() {
-        return new DialectDatabaseJoinOrderOption(false, false);
+    default DialectJoinOrderOption getJoinOrderOption() {
+        return new DialectJoinOrderOption(false, false);
     }
 }
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseJoinOrderOption.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectJoinOrderOption.java
similarity index 91%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseJoinOrderOption.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectJoinOrderOption.java
index 4ffc83473f4..7c1ae9e3366 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseJoinOrderOption.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectJoinOrderOption.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.database.core.metadata.database.option;
+package 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
 /**
- * Dialect database join order option.
+ * Dialect join order option.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DialectDatabaseJoinOrderOption {
+public final class DialectJoinOrderOption {
     
     private final boolean isUsingColumnsByProjectionOrder;
     
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseTransactionOption.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectTransactionOption.java
similarity index 93%
rename from 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseTransactionOption.java
rename to 
infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectTransactionOption.java
index 8efdbcd7af1..160114dbe42 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/option/DialectDatabaseTransactionOption.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/metadata/database/metadata/option/DialectTransactionOption.java
@@ -15,17 +15,17 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.infra.database.core.metadata.database.option;
+package 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option;
 
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 
 /**
- * Dialect database transaction option.
+ * Dialect transaction option.
  */
 @RequiredArgsConstructor
 @Getter
-public final class DialectDatabaseTransactionOption {
+public final class DialectTransactionOption {
     
     private final boolean isSupportGlobalCSN;
     
diff --git 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
index 3909291a97f..87416a5fb0a 100644
--- 
a/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
+++ 
b/infra/database/core/src/main/java/org/apache/shardingsphere/infra/database/core/type/DatabaseTypeRegistry.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.infra.database.core.type;
 
 import lombok.Getter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.spi.ShardingSphereServiceLoader;
 
diff --git 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/BranchDialectDatabaseMetaData.java
 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/BranchDialectDatabaseMetaData.java
index 3aee9f48fe2..0971b1a45b9 100644
--- 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/BranchDialectDatabaseMetaData.java
+++ 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/BranchDialectDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.infra.database.core.metadata.database.fixture;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
index 6064bc1f8de..80615ffc9b9 100644
--- 
a/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
+++ 
b/infra/database/core/src/test/java/org/apache/shardingsphere/infra/database/core/metadata/database/fixture/TrunkDialectDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package 
org.apache.shardingsphere.infra.database.core.metadata.database.fixture;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/core/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/clickhouse/src/main/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaData.java
 
b/infra/database/type/clickhouse/src/main/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaData.java
index 91b40beeeba..a31b5a62d57 100644
--- 
a/infra/database/type/clickhouse/src/main/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaData.java
+++ 
b/infra/database/type/clickhouse/src/main/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.clickhouse.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/clickhouse/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/clickhouse/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/clickhouse/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/clickhouse/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/clickhouse/src/test/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaDataTest.java
 
b/infra/database/type/clickhouse/src/test/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaDataTest.java
index 839010d7e8b..63be64d2e90 100644
--- 
a/infra/database/type/clickhouse/src/test/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaDataTest.java
+++ 
b/infra/database/type/clickhouse/src/test/java/org/apache/shardingsphere/infra/database/clickhouse/metadata/database/ClickHouseDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.clickhouse.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
index fa2986a268a..5648a3ca7aa 100644
--- 
a/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
+++ 
b/infra/database/type/firebird/src/main/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaData.java
@@ -17,10 +17,10 @@
 
 package org.apache.shardingsphere.infra.database.firebird.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 
 /**
  * Database metadata of Firebird.
@@ -43,8 +43,8 @@ public final class FirebirdDatabaseMetaData implements 
DialectDatabaseMetaData {
     }
     
     @Override
-    public DialectDatabaseTransactionOption getTransactionOption() {
-        return new DialectDatabaseTransactionOption(false, true, false, false, 
true);
+    public DialectTransactionOption getTransactionOption() {
+        return new DialectTransactionOption(false, true, false, false, true);
     }
     
     @Override
diff --git 
a/infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/firebird/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/firebird/src/test/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
 
b/infra/database/type/firebird/src/test/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
index 16c09d44c5b..737fadbe6f8 100644
--- 
a/infra/database/type/firebird/src/test/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
+++ 
b/infra/database/type/firebird/src/test/java/org/apache/shardingsphere/infra/database/firebird/metadata/database/FirebirdDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.firebird.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaData.java
 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaData.java
index 1e740bc35d1..fbbab9c61e8 100644
--- 
a/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaData.java
+++ 
b/infra/database/type/h2/src/main/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.h2.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/h2/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaDataTest.java
 
b/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaDataTest.java
index 2cf5b9e642f..88276912ceb 100644
--- 
a/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaDataTest.java
+++ 
b/infra/database/type/h2/src/test/java/org/apache/shardingsphere/infra/database/h2/metadata/database/H2DatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.h2.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/hive/src/main/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaData.java
 
b/infra/database/type/hive/src/main/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaData.java
index 93775e95f90..931ba8e5e72 100644
--- 
a/infra/database/type/hive/src/main/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaData.java
+++ 
b/infra/database/type/hive/src/main/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.hive.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/hive/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/hive/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/hive/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/hive/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/hive/src/test/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaDataTest.java
 
b/infra/database/type/hive/src/test/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaDataTest.java
index 05b09a1949b..aaead261c9a 100644
--- 
a/infra/database/type/hive/src/test/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaDataTest.java
+++ 
b/infra/database/type/hive/src/test/java/org/apache/shardingsphere/infra/database/hive/metadata/database/HiveDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.hive.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaData.java
 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaData.java
index 47c079a1444..79eab7cfc7e 100644
--- 
a/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaData.java
+++ 
b/infra/database/type/mysql/src/main/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaData.java
@@ -17,11 +17,11 @@
 
 package org.apache.shardingsphere.infra.database.mysql.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseJoinOrderOption;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectJoinOrderOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 
 import java.math.BigInteger;
 import java.sql.Types;
@@ -85,13 +85,13 @@ public final class MySQLDatabaseMetaData implements 
DialectDatabaseMetaData {
     }
     
     @Override
-    public DialectDatabaseTransactionOption getTransactionOption() {
-        return new DialectDatabaseTransactionOption(false, false, true, false, 
true);
+    public DialectTransactionOption getTransactionOption() {
+        return new DialectTransactionOption(false, false, true, false, true);
     }
     
     @Override
-    public DialectDatabaseJoinOrderOption getJoinOrderOption() {
-        return new DialectDatabaseJoinOrderOption(true, true);
+    public DialectJoinOrderOption getJoinOrderOption() {
+        return new DialectJoinOrderOption(true, true);
     }
     
     @Override
diff --git 
a/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/mysql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaDataTest.java
 
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaDataTest.java
index f2db5966056..ab4ca736e3f 100644
--- 
a/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaDataTest.java
+++ 
b/infra/database/type/mysql/src/test/java/org/apache/shardingsphere/infra/database/mysql/metadata/database/MySQLDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.mysql.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
index 1556bd435e2..466cd9d3056 100644
--- 
a/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
+++ 
b/infra/database/type/opengauss/src/main/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaData.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.infra.database.opengauss.metadata.database;
 
 import com.cedarsoftware.util.CaseInsensitiveMap;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 
 import java.sql.Types;
 import java.util.Map;
@@ -68,8 +68,8 @@ public final class OpenGaussDatabaseMetaData implements 
DialectDatabaseMetaData
     }
     
     @Override
-    public DialectDatabaseTransactionOption getTransactionOption() {
-        return new DialectDatabaseTransactionOption(true, false, false, true, 
false);
+    public DialectTransactionOption getTransactionOption() {
+        return new DialectTransactionOption(true, false, false, true, false);
     }
     
     @Override
diff --git 
a/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/opengauss/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaDataTest.java
 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaDataTest.java
index db655643bd4..8fecb8d44ab 100644
--- 
a/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaDataTest.java
+++ 
b/infra/database/type/opengauss/src/test/java/org/apache/shardingsphere/infra/database/opengauss/metadata/database/OpenGaussDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.opengauss.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
index d7763df3d84..75955b2f911 100644
--- 
a/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
+++ 
b/infra/database/type/oracle/src/main/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.oracle.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/oracle/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
 
b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
index b0ebeb30783..cdee1003ceb 100644
--- 
a/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
+++ 
b/infra/database/type/oracle/src/test/java/org/apache/shardingsphere/infra/database/oracle/metadata/database/OracleDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.oracle.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
index 73dc6d4af64..60a4227dbe8 100644
--- 
a/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
+++ 
b/infra/database/type/postgresql/src/main/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaData.java
@@ -18,10 +18,10 @@
 package org.apache.shardingsphere.infra.database.postgresql.metadata.database;
 
 import com.cedarsoftware.util.CaseInsensitiveMap;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 
 import java.sql.Types;
 import java.util.Map;
@@ -81,8 +81,8 @@ public final class PostgreSQLDatabaseMetaData implements 
DialectDatabaseMetaData
     }
     
     @Override
-    public DialectDatabaseTransactionOption getTransactionOption() {
-        return new DialectDatabaseTransactionOption(false, false, false, true, 
false);
+    public DialectTransactionOption getTransactionOption() {
+        return new DialectTransactionOption(false, false, false, true, false);
     }
     
     @Override
diff --git 
a/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/postgresql/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
 
b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
index 6dc7489606b..c364a9bc301 100644
--- 
a/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
+++ 
b/infra/database/type/postgresql/src/test/java/org/apache/shardingsphere/infra/database/postgresql/metadata/database/PostgreSQLDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.postgresql.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git 
a/infra/database/type/presto/src/main/java/org/apache/shardingsphere/infra/database/presto/metadata/database/PrestoDatabaseMetaData.java
 
b/infra/database/type/presto/src/main/java/org/apache/shardingsphere/infra/database/presto/metadata/database/PrestoDatabaseMetaData.java
index 2d1001965c2..9b26b84f06f 100644
--- 
a/infra/database/type/presto/src/main/java/org/apache/shardingsphere/infra/database/presto/metadata/database/PrestoDatabaseMetaData.java
+++ 
b/infra/database/type/presto/src/main/java/org/apache/shardingsphere/infra/database/presto/metadata/database/PrestoDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.presto.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/presto/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/presto/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/presto/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/presto/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/presto/src/test/java/org/apache/shardingsphere/infra/database/presto/database/PrestoDatabaseMetaDataTest.java
 
b/infra/database/type/presto/src/test/java/org/apache/shardingsphere/infra/database/presto/database/PrestoDatabaseMetaDataTest.java
index ff4e4d34b91..8865aa3d85f 100644
--- 
a/infra/database/type/presto/src/test/java/org/apache/shardingsphere/infra/database/presto/database/PrestoDatabaseMetaDataTest.java
+++ 
b/infra/database/type/presto/src/test/java/org/apache/shardingsphere/infra/database/presto/database/PrestoDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.presto.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
diff --git 
a/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaData.java
 
b/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaData.java
index b5c9fae3416..18b8f7aa495 100644
--- 
a/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaData.java
+++ 
b/infra/database/type/sql92/src/main/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.sql92.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/sql92/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaDataTest.java
 
b/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaDataTest.java
index 780de652839..7c0e9ec89d3 100644
--- 
a/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaDataTest.java
+++ 
b/infra/database/type/sql92/src/test/java/org/apache/shardingsphere/infra/database/sql92/metadata/database/SQL92DatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.sql92.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git 
a/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaData.java
 
b/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaData.java
index 8521865d7fb..9eb95132f9e 100644
--- 
a/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaData.java
+++ 
b/infra/database/type/sqlserver/src/main/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaData.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.sqlserver.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
infra/database/type/sqlserver/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaDataTest.java
 
b/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaDataTest.java
index 89a420541b9..84e47e129bf 100644
--- 
a/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaDataTest.java
+++ 
b/infra/database/type/sqlserver/src/test/java/org/apache/shardingsphere/infra/database/sqlserver/metadata/database/SQLServerDatabaseMetaDataTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.infra.database.sqlserver.metadata.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
diff --git 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java
 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java
index e44cd6c5151..5b8a1467b5c 100644
--- 
a/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java
+++ 
b/infra/distsql-handler/src/main/java/org/apache/shardingsphere/distsql/handler/executor/rql/resource/ShowLogicalTablesExecutor.java
@@ -21,7 +21,7 @@ import lombok.Setter;
 import 
org.apache.shardingsphere.distsql.handler.aware.DistSQLExecutorDatabaseAware;
 import 
org.apache.shardingsphere.distsql.handler.engine.query.DistSQLQueryExecutor;
 import 
org.apache.shardingsphere.distsql.statement.rql.resource.ShowLogicalTablesStatement;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.merge.result.impl.local.LocalDataQueryResultRow;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json
index 724e2f7bf26..f220d211116 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/resource-config.json
@@ -125,7 +125,7 @@
     
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.database.core.metadata.data.loader.DialectMetaDataLoader\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData\\E"
+    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.metadata.database.system.SystemDatabase"},
     
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase\\E"
diff --git 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/generator/generic/RemoveTokenGenerator.java
 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/generator/generic/RemoveTokenGenerator.java
index 84456e36553..0c0a1ebd2b1 100644
--- 
a/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/generator/generic/RemoveTokenGenerator.java
+++ 
b/infra/rewrite/src/main/java/org/apache/shardingsphere/infra/rewrite/sql/token/common/generator/generic/RemoveTokenGenerator.java
@@ -21,7 +21,7 @@ import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementCont
 import org.apache.shardingsphere.infra.binder.context.type.IndexAvailable;
 import org.apache.shardingsphere.infra.binder.context.type.RemoveAvailable;
 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.rewrite.sql.token.common.generator.CollectionSQLTokenGenerator;
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
index f601d0a7dbf..08d56ba01d6 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteExecutor.java
@@ -27,7 +27,7 @@ import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConne
 import 
org.apache.shardingsphere.driver.jdbc.core.resultset.ShardingSphereResultSet;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.binder.context.statement.dml.SelectStatementContext;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
@@ -132,7 +132,7 @@ public final class DriverJDBCPushDownExecuteExecutor {
     }
     
     private boolean isNeedImplicitCommit(final SQLStatementContext 
sqlStatementContext) {
-        DialectDatabaseTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
+        DialectTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
         return !connection.getAutoCommit() && 
sqlStatementContext.getSqlStatement() instanceof DDLStatement && 
transactionOption.isDDLNeedImplicitCommit();
     }
     
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
index 2c44d3a35c7..9750fb43b02 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/executor/engine/pushdown/jdbc/DriverJDBCPushDownExecuteUpdateExecutor.java
@@ -26,7 +26,7 @@ import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConne
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroup;
 import 
org.apache.shardingsphere.infra.executor.kernel.model.ExecutionGroupContext;
@@ -139,7 +139,7 @@ public final class DriverJDBCPushDownExecuteUpdateExecutor {
     }
     
     private boolean isNeedImplicitCommit(final SQLStatementContext 
sqlStatementContext) {
-        DialectDatabaseTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
+        DialectTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatementContext.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
         return !connection.getAutoCommit() && 
sqlStatementContext.getSqlStatement() instanceof DDLStatement && 
transactionOption.isDDLNeedImplicitCommit();
     }
     
diff --git 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
index 256408cfeb7..03224fc26cb 100644
--- 
a/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
+++ 
b/jdbc/src/main/java/org/apache/shardingsphere/driver/jdbc/adapter/AbstractStatementAdapter.java
@@ -22,7 +22,7 @@ import lombok.Getter;
 import 
org.apache.shardingsphere.driver.jdbc.adapter.executor.ForceExecuteTemplate;
 import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
 import org.apache.shardingsphere.driver.jdbc.core.statement.StatementManager;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/ImporterConfiguration.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/ImporterConfiguration.java
index 00f8efaa8ec..6df8bec8936 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/ImporterConfiguration.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/importer/ImporterConfiguration.java
@@ -24,7 +24,7 @@ import lombok.ToString;
 import 
org.apache.shardingsphere.data.pipeline.api.PipelineDataSourceConfiguration;
 import 
org.apache.shardingsphere.data.pipeline.core.ingest.dumper.mapper.TableAndSchemaNameMapper;
 import 
org.apache.shardingsphere.data.pipeline.core.ratelimit.JobRateLimitAlgorithm;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
 import 
org.apache.shardingsphere.infra.metadata.identifier.ShardingSphereIdentifier;
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
index d1a11519e66..ff0333dce1d 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/metadata/loader/StandardPipelineTableMetaDataLoader.java
@@ -25,7 +25,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.exception.PipelineInternalEx
 import 
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineColumnMetaData;
 import 
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineIndexMetaData;
 import 
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineTableMetaData;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.metadata.identifier.ShardingSphereIdentifier;
 
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
index 9d127680312..fd88018e4a0 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/preparer/datasource/PipelineJobDataSourcePreparer.java
@@ -30,7 +30,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.preparer.datasource.param.Pr
 import 
org.apache.shardingsphere.data.pipeline.core.preparer.datasource.param.PrepareTargetTablesParameter;
 import 
org.apache.shardingsphere.data.pipeline.core.sqlbuilder.sql.PipelinePrepareSQLBuilder;
 import 
org.apache.shardingsphere.driver.jdbc.core.connection.ShardingSphereConnection;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
index 2327ffb7a34..88a8f9239a7 100644
--- 
a/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
+++ 
b/kernel/data-pipeline/core/src/main/java/org/apache/shardingsphere/data/pipeline/core/sqlbuilder/segment/PipelineSQLSegmentBuilder.java
@@ -18,7 +18,7 @@
 package org.apache.shardingsphere.data.pipeline.core.sqlbuilder.segment;
 
 import com.google.common.base.Strings;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
diff --git 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
index b2067cf02bb..fde535b6fc5 100644
--- 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
+++ 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/handler/CDCBackendHandler.java
@@ -52,7 +52,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.job.PipelineJobRegistry;
 import org.apache.shardingsphere.data.pipeline.core.job.api.TransmissionJobAPI;
 import org.apache.shardingsphere.data.pipeline.core.job.id.PipelineJobIdUtils;
 import 
org.apache.shardingsphere.data.pipeline.core.job.service.PipelineJobConfigurationManager;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
diff --git 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
index 760e36bc9a0..db1a3884be7 100644
--- 
a/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
+++ 
b/kernel/data-pipeline/scenario/cdc/core/src/main/java/org/apache/shardingsphere/data/pipeline/cdc/util/CDCSchemaTableUtils.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.data.pipeline.cdc.util;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.data.pipeline.cdc.protocol.request.StreamDataRequestBody.SchemaTable;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.system.DialectSystemDatabase;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
index 1e7f64c5909..2d0fbbe4189 100644
--- 
a/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
+++ 
b/kernel/data-pipeline/scenario/migration/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/api/MigrationJobAPI.java
@@ -49,7 +49,7 @@ import 
org.apache.shardingsphere.data.pipeline.scenario.migration.config.yaml.sw
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionProperties;
 import 
org.apache.shardingsphere.infra.database.core.connector.ConnectionPropertiesParser;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPILoader;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
diff --git 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/util/SingleTableLoadUtils.java
 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/util/SingleTableLoadUtils.java
index b2eb4876c84..1582b1c6cf2 100644
--- 
a/kernel/single/core/src/main/java/org/apache/shardingsphere/single/util/SingleTableLoadUtils.java
+++ 
b/kernel/single/core/src/main/java/org/apache/shardingsphere/single/util/SingleTableLoadUtils.java
@@ -21,7 +21,7 @@ import com.cedarsoftware.util.CaseInsensitiveSet;
 import com.google.common.base.Splitter;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.datanode.DataNode;
diff --git 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
index 684ac0360d5..c1e424963a7 100644
--- 
a/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
+++ 
b/kernel/single/distsql/handler/src/main/java/org/apache/shardingsphere/single/distsql/handler/update/LoadSingleTableExecutor.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.single.distsql.handler.update;
 import lombok.Setter;
 import 
org.apache.shardingsphere.distsql.handler.engine.update.rdl.rule.spi.database.DatabaseRuleCreateExecutor;
 import org.apache.shardingsphere.infra.database.DatabaseTypeEngine;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.table.TableExistsException;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
index 883a3d1daa6..0a7f2053615 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/connector/ProxySQLExecutor.java
@@ -22,7 +22,7 @@ import lombok.Getter;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import org.apache.shardingsphere.infra.binder.context.type.TableAvailable;
 import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.option.DialectDatabaseTransactionOption;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.option.DialectTransactionOption;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
@@ -137,7 +137,7 @@ public final class ProxySQLExecutor {
     }
     
     private boolean isSupportDDLInTransaction(final DDLStatement sqlStatement) 
{
-        DialectDatabaseTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatement.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
+        DialectTransactionOption transactionOption = new 
DatabaseTypeRegistry(sqlStatement.getDatabaseType()).getDialectDatabaseMetaData().getTransactionOption();
         boolean isDDLWithoutMetaDataChanged = 
isDDLWithoutMetaDataChanged(sqlStatement);
         if (isInXATransaction()) {
             return transactionOption.isSupportDDLInXATransaction() && 
(isDDLWithoutMetaDataChanged || 
transactionOption.isSupportMetaDataRefreshInTransaction());
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
index 6fcd786156b..0670e692990 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/database/DropDatabaseBackendHandler.java
@@ -21,7 +21,7 @@ import com.google.common.base.Strings;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.authority.checker.AuthorityChecker;
 import org.apache.shardingsphere.authority.rule.AuthorityRule;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.syntax.database.DatabaseDropNotExistsException;
diff --git 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
index fe50e07baca..8388cb34023 100644
--- 
a/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
+++ 
b/proxy/backend/core/src/main/java/org/apache/shardingsphere/proxy/backend/handler/tcl/TCLBackendHandler.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.proxy.backend.handler.tcl;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.exception.core.ShardingSpherePreconditions;
 import 
org.apache.shardingsphere.infra.exception.dialect.exception.transaction.InTransactionException;
diff --git 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutorTest.java
 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutorTest.java
index e5693349449..1422b562800 100644
--- 
a/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutorTest.java
+++ 
b/proxy/backend/type/mysql/src/test/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/information/SelectInformationSchemataExecutorTest.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.proxy.backend.mysql.handler.admin.executor.inf
 import 
org.apache.shardingsphere.authority.provider.database.DatabasePermittedPrivileges;
 import org.apache.shardingsphere.authority.rule.AuthorityRule;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
index 8297becec5e..7900d9e8f7b 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/cdc/CDCE2EIT.java
@@ -36,7 +36,7 @@ import 
org.apache.shardingsphere.data.pipeline.core.metadata.loader.StandardPipe
 import 
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineColumnMetaData;
 import 
org.apache.shardingsphere.data.pipeline.core.metadata.model.PipelineTableMetaData;
 import 
org.apache.shardingsphere.infra.algorithm.keygen.snowflake.SnowflakeKeyGenerateAlgorithm;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.metadata.database.schema.QualifiedTable;
diff --git 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
index 5ff4fad9de6..8e153e6ceb0 100644
--- 
a/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
+++ 
b/test/e2e/sql/src/test/java/org/apache/shardingsphere/test/e2e/env/DataSetEnvironmentManager.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.test.e2e.env;
 
 import lombok.RequiredArgsConstructor;
 import lombok.SneakyThrows;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
diff --git 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/database/DialectDatabaseMetaDataFixture.java
 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/database/DialectDatabaseMetaDataFixture.java
index ddf8b67bc44..90f6c825d86 100644
--- 
a/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/database/DialectDatabaseMetaDataFixture.java
+++ 
b/test/fixture/database/src/main/java/org/apache/shardingsphere/test/fixture/database/DialectDatabaseMetaDataFixture.java
@@ -17,7 +17,7 @@
 
 package org.apache.shardingsphere.test.fixture.database;
 
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.NullsOrderType;
 import 
org.apache.shardingsphere.infra.database.core.metadata.database.enums.QuoteCharacter;
 
diff --git 
a/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
 
b/test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
similarity index 100%
rename from 
test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData
rename to 
test/fixture/database/src/main/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData
diff --git 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
index 7c37182e46b..f3e260fae70 100644
--- 
a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
+++ 
b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
@@ -47,7 +47,7 @@ import 
org.apache.shardingsphere.driver.api.ShardingSphereDataSourceFactory;
 import 
org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource;
 import org.apache.shardingsphere.infra.config.mode.ModeConfiguration;
 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
-import 
org.apache.shardingsphere.infra.database.core.metadata.database.DialectDatabaseMetaData;
+import 
org.apache.shardingsphere.infra.database.core.metadata.database.metadata.DialectDatabaseMetaData;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
 import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;

Reply via email to