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 3ae8427e446 Fix nativeTest for Firebird optional module (#35427)
3ae8427e446 is described below

commit 3ae8427e446afe8d8aa6e8ae3fd77373cb31c89b
Author: Ling Hengqian <[email protected]>
AuthorDate: Mon May 19 17:19:14 2025 +0800

    Fix nativeTest for Firebird optional module (#35427)
---
 .../optional-plugins/clickhouse/_index.cn.md       |   4 +-
 .../optional-plugins/clickhouse/_index.en.md       |   6 +-
 .../optional-plugins/firebird/_index.cn.md         | 167 ++++++++++++++++++++
 .../optional-plugins/firebird/_index.en.md         | 168 +++++++++++++++++++++
 .../optional-plugins/hiveserver2/_index.cn.md      |   6 +-
 .../optional-plugins/hiveserver2/_index.en.md      |   8 +-
 .../calcite-core/1.38.0/reflect-config.json        |   5 +
 .../hadoop-common/3.3.6/reflect-config.json        |   4 +
 .../seata-all/2.2.0/reflect-config.json            |   8 +
 .../reflect-config.json                            | 130 +++++++++-------
 .../resource-config.json                           | 102 ++++++++++++-
 .../reflect-config.json                            |  15 ++
 .../junit-jupiter/5.11.1/reflect-config.json       |   5 +
 test/native/pom.xml                                |   6 +
 .../testcontainers/TcPostgreSQLDatabaseType.java   |   2 +-
 .../testcontainers/TcSQLServerDatabaseType.java    |   2 +-
 .../testcontainers/TestcontainersDatabaseType.java |   2 +-
 .../natived/commons/proxy/ProxyTestingServer.java  |   2 +-
 .../natived/jdbc/transactions/base/SeataTest.java  |   2 +-
 .../natived/proxy/transactions/base/SeataTest.java |   6 +-
 ...ingsphere.infra.database.core.type.DatabaseType |   4 +-
 21 files changed, 571 insertions(+), 83 deletions(-)

diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.cn.md
index a9594b8f1fc..fc097a8bbcb 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.cn.md
@@ -116,7 +116,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
@@ -154,7 +154,7 @@ public class ExampleUtils {
              Statement statement = connection.createStatement()) {
             statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
             statement.executeQuery("SELECT * FROM t_order");
-            statement.execute("alter table t_order delete where order_id=1");
+            statement.execute("alter table t_order delete where user_id=1");
         }
     }
 }
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.en.md
index d2a08b8ce26..e6dc45e38d4 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/clickhouse/_index.en.md
@@ -50,7 +50,7 @@ services:
 
 ### Create business tables
 
-Use a third-party tool to create a business database and business table in 
ClickHouse.
+Use a third-party tool to create some business databases and business tables 
in ClickHouse.
 Taking DBeaver Community as an example, if you use Ubuntu 22.04.4, you can 
quickly install it through Snapcraft.
 
 ```shell
@@ -118,7 +118,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
@@ -156,7 +156,7 @@ public class ExampleUtils {
              Statement statement = connection.createStatement()) {
             statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
             statement.executeQuery("SELECT * FROM t_order");
-            statement.execute("alter table t_order delete where order_id=1");
+            statement.execute("alter table t_order delete where user_id=1");
         }
     }
 }
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
new file mode 100644
index 00000000000..faab8e0c4d9
--- /dev/null
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.cn.md
@@ -0,0 +1,167 @@
++++
+title = "Firebird"
+weight = 6
++++
+
+## 背景信息
+
+ShardingSphere 默认情况下不提供对 `org.firebirdsql.jdbc.FBDriver` 的 `driverClassName` 
的支持。
+ShardingSphere 对 Firebird JDBC Driver 的支持位于可选模块中。
+
+## 前提条件
+
+要在 ShardingSphere 的配置文件为数据节点使用类似 
`jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_0.fdb` 的 
`jdbcUrl`,
+可能的 Maven 依赖关系如下,
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-jdbc</artifactId>
+        <version>${shardingsphere.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-parser-sql-firebird</artifactId>
+        <version>${shardingsphere.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.firebirdsql.jdbc</groupId>
+        <artifactId>jaybird</artifactId>
+        <version>5.0.6.java8</version>
+    </dependency>
+</dependencies>
+```
+
+## 配置示例
+
+### 启动 Firebird
+
+编写 Docker Compose 文件来启动 Firebird。
+
+```yaml
+services:
+  firebird:
+    image: firebirdsql/firebird:5.0.1
+    environment:
+      FIREBIRD_ROOT_PASSWORD: masterkey
+      FIREBIRD_USER: alice
+      FIREBIRD_PASSWORD: masterkey
+      FIREBIRD_DATABASE: mirror.fdb
+      FIREBIRD_DATABASE_DEFAULT_CHARSET: UTF8
+    ports:
+      - "3050:3050"
+```
+
+### 创建业务库
+
+通过第三方工具在 Firebird 内创建业务库。
+
+包括 DBeaver Community 在内的第三方工具无法为 Firebird 创建 databases,
+下以 Maven 模块 `org.firebirdsql.jdbc:jaybird:5.0.6.java8` 的 Java API 为例,
+
+```java
+import org.firebirdsql.management.FBManager;
+import org.firebirdsql.management.PageSizeConstants;
+class Solution {
+    void test() throws Exception {
+        try (FBManager fbManager = new FBManager()) {
+            fbManager.setServer("localhost");
+            fbManager.setUserName("alice");
+            fbManager.setPassword("masterkey");
+            fbManager.setFileName("/var/lib/firebird/data/mirror.fdb");
+            fbManager.setPageSize(PageSizeConstants.SIZE_16K);
+            fbManager.setDefaultCharacterSet("UTF8");
+            fbManager.setPort(3050);
+            fbManager.start();
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_0.fdb", 
"alice", "masterkey");
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_1.fdb", 
"alice", "masterkey");
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_2.fdb", 
"alice", "masterkey");
+        }
+    }
+}
+```
+
+### 在业务项目创建 ShardingSphere 数据源
+
+在业务项目引入`前提条件`涉及的依赖后,在业务项目的 classpath 上编写 ShardingSphere 数据源的配置文件`demo.yaml`,
+
+```yaml
+dataSources:
+  ds_0:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_0.fdb
+    username: alice
+    password: masterkey
+  ds_1:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_1.fdb
+    username: alice
+    password: masterkey
+  ds_2:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_2.fdb
+    username: alice
+    password: masterkey
+rules:
+- !SHARDING
+    tables:
+      t_order:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
+        keyGenerateStrategy:
+          column: order_id
+          keyGeneratorName: snowflake
+    defaultDatabaseStrategy:
+      standard:
+        shardingColumn: user_id
+        shardingAlgorithmName: inline
+    shardingAlgorithms:
+      inline:
+        type: INLINE
+        props:
+          algorithm-expression: ds_${user_id % 2}
+    keyGenerators:
+      snowflake:
+        type: SNOWFLAKE
+```
+
+### 享受集成
+
+创建 ShardingSphere 的数据源以享受集成,
+
+```java
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+class Solution {
+    void test() throws SQLException {
+        HikariConfig config = new HikariConfig();
+        config.setJdbcUrl("jdbc:shardingsphere:classpath:demo.yaml");
+        
config.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver");
+        try (HikariDataSource dataSource = new HikariDataSource(config);
+             Connection connection = dataSource.getConnection();
+             Statement statement = connection.createStatement()) {
+            statement.execute("CREATE TABLE t_order (order_id BIGINT generated 
by default as identity PRIMARY KEY, order_type INT, user_id INT NOT NULL, 
address_id BIGINT NOT NULL, status VARCHAR(50))");
+            statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
+            statement.executeQuery("SELECT * FROM t_order");
+            statement.execute("DELETE FROM t_order WHERE user_id=1");
+            statement.execute("DROP TABLE t_order");
+        }
+    }
+}
+```
+
+## 使用限制
+
+### 事务限制
+
+Firebird 支持 ShardingSphere 集成级别的本地事务,但不支持 XA 事务或 Seata 的 AT 模式事务。
+
+对 XA 事务的讨论位于 https://github.com/apache/shardingsphere/issues/34973 。
+
+对 Seata 的 AT 模式事务的处理,则应在 https://github.com/apache/incubator-seata 提交包含对应实现的 
PR。
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
new file mode 100644
index 00000000000..2b522837c55
--- /dev/null
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/firebird/_index.en.md
@@ -0,0 +1,168 @@
++++
+title = "Firebird"
+weight = 6
++++
+
+## Background Information
+
+ShardingSphere does not provide support for `driverClassName` of 
`org.firebirdsql.jdbc.FBDriver` by default.
+ShardingSphere's support for Firebird JDBC Driver is in an optional module.
+
+## Prerequisites
+
+To use a `jdbcUrl` like 
`jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_0.fdb` for the 
data node in the ShardingSphere configuration file,
+the possible Maven dependencies are as follows,
+
+```xml
+<dependencies>
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-jdbc</artifactId>
+        <version>${shardingsphere.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.shardingsphere</groupId>
+        <artifactId>shardingsphere-parser-sql-firebird</artifactId>
+        <version>${shardingsphere.version}</version>
+    </dependency>
+    <dependency>
+        <groupId>org.firebirdsql.jdbc</groupId>
+        <artifactId>jaybird</artifactId>
+        <version>5.0.6.java8</version>
+    </dependency>
+</dependencies>
+```
+
+## Configuration example
+
+### Start Firebird
+
+Write a Docker Compose file to start Firebird.
+
+```yaml
+services:
+  firebird:
+    image: firebirdsql/firebird:5.0.1
+    environment:
+      FIREBIRD_ROOT_PASSWORD: masterkey
+      FIREBIRD_USER: alice
+      FIREBIRD_PASSWORD: masterkey
+      FIREBIRD_DATABASE: mirror.fdb
+      FIREBIRD_DATABASE_DEFAULT_CHARSET: UTF8
+    ports:
+      - "3050:3050"
+```
+
+### Create business databases
+
+Create some business databases in Firebird through third-party tools.
+
+Third-party tools including DBeaver Community cannot create databases for 
Firebird.
+Below is the Java API of the Maven module 
`org.firebirdsql.jdbc:jaybird:5.0.6.java8` as an example.
+
+```java
+import org.firebirdsql.management.FBManager;
+import org.firebirdsql.management.PageSizeConstants;
+class Solution {
+    void test() throws Exception {
+        try (FBManager fbManager = new FBManager()) {
+            fbManager.setServer("localhost");
+            fbManager.setUserName("alice");
+            fbManager.setPassword("masterkey");
+            fbManager.setFileName("/var/lib/firebird/data/mirror.fdb");
+            fbManager.setPageSize(PageSizeConstants.SIZE_16K);
+            fbManager.setDefaultCharacterSet("UTF8");
+            fbManager.setPort(3050);
+            fbManager.start();
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_0.fdb", 
"alice", "masterkey");
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_1.fdb", 
"alice", "masterkey");
+            fbManager.createDatabase("/var/lib/firebird/data/demo_ds_2.fdb", 
"alice", "masterkey");
+        }
+    }
+}
+```
+
+### Create ShardingSphere data source in business project
+
+After the business project introduces the dependencies involved in the 
`prerequisites`, 
+write the ShardingSphere data source configuration file `demo.yaml` on the 
classpath of the business project.
+
+```yaml
+dataSources:
+  ds_0:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_0.fdb
+    username: alice
+    password: masterkey
+  ds_1:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_1.fdb
+    username: alice
+    password: masterkey
+  ds_2:
+    dataSourceClassName: com.zaxxer.hikari.HikariDataSource
+    driverClassName: org.firebirdsql.jdbc.FBDriver
+    jdbcUrl: 
jdbc:firebird://localhost:3050//var/lib/firebird/data/demo_ds_2.fdb
+    username: alice
+    password: masterkey
+rules:
+- !SHARDING
+    tables:
+      t_order:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
+        keyGenerateStrategy:
+          column: order_id
+          keyGeneratorName: snowflake
+    defaultDatabaseStrategy:
+      standard:
+        shardingColumn: user_id
+        shardingAlgorithmName: inline
+    shardingAlgorithms:
+      inline:
+        type: INLINE
+        props:
+          algorithm-expression: ds_${user_id % 2}
+    keyGenerators:
+      snowflake:
+        type: SNOWFLAKE
+```
+
+### Enjoy integration
+
+Create a ShardingSphere data source to enjoy the integration,
+
+```java
+import com.zaxxer.hikari.HikariConfig;
+import com.zaxxer.hikari.HikariDataSource;
+import java.sql.Connection;
+import java.sql.SQLException;
+import java.sql.Statement;
+class Solution {
+    void test() throws SQLException {
+        HikariConfig config = new HikariConfig();
+        config.setJdbcUrl("jdbc:shardingsphere:classpath:demo.yaml");
+        
config.setDriverClassName("org.apache.shardingsphere.driver.ShardingSphereDriver");
+        try (HikariDataSource dataSource = new HikariDataSource(config);
+             Connection connection = dataSource.getConnection();
+             Statement statement = connection.createStatement()) {
+            statement.execute("CREATE TABLE t_order (order_id BIGINT generated 
by default as identity PRIMARY KEY, order_type INT, user_id INT NOT NULL, 
address_id BIGINT NOT NULL, status VARCHAR(50))");
+            statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
+            statement.executeQuery("SELECT * FROM t_order");
+            statement.execute("DELETE FROM t_order WHERE user_id=1");
+            statement.execute("DROP TABLE t_order");
+        }
+    }
+}
+```
+
+## Usage Limitations
+
+### Transaction Limitations
+
+Firebird supports local transactions at the ShardingSphere integration level, 
but does not support XA transactions or Seata's AT mode transactions.
+
+Discussions on XA transactions are at 
https://github.com/apache/shardingsphere/issues/34973 .
+
+For Seata's AT mode transactions, a PR containing the corresponding 
implementation should be submitted at https://github.com/apache/incubator-seata 
.
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.cn.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.cn.md
index 40f88bd9ae5..f4d891933bb 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.cn.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.cn.md
@@ -183,7 +183,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
@@ -221,7 +221,7 @@ public class ExampleUtils {
              Statement statement = connection.createStatement()) {
             statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
             statement.executeQuery("SELECT * FROM t_order");
-            statement.execute("DELETE FROM t_order WHERE order_id=1");
+            statement.execute("DELETE FROM t_order WHERE user_id=1");
         }
     }
 }
@@ -309,7 +309,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
diff --git 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.en.md
 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.en.md
index 0e8c562079c..4e188e525fa 100644
--- 
a/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.en.md
+++ 
b/docs/document/content/user-manual/shardingsphere-jdbc/optional-plugins/hiveserver2/_index.en.md
@@ -126,7 +126,7 @@ services:
 
 ### Create business tables
 
-Use a third-party tool to create a business database and business table in 
HiveServer2.
+Use a third-party tool to create some business databases and business tables 
in HiveServer2.
 Taking DBeaver Community as an example, if you use Ubuntu 22.04.4, you can 
quickly install it through Snapcraft.
 
 ```shell
@@ -187,7 +187,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
@@ -225,7 +225,7 @@ public class ExampleUtils {
              Statement statement = connection.createStatement()) {
             statement.execute("INSERT INTO t_order (user_id, order_type, 
address_id, status) VALUES (1, 1, 1, 'INSERT_TEST')");
             statement.executeQuery("SELECT * FROM t_order");
-            statement.execute("DELETE FROM t_order WHERE order_id=1");
+            statement.execute("DELETE FROM t_order WHERE user_id=1");
         }
     }
 }
@@ -314,7 +314,7 @@ rules:
 - !SHARDING
     tables:
       t_order:
-        actualDataNodes:
+        actualDataNodes: <LITERAL>ds_0.t_order, ds_1.t_order, ds_2.t_order
         keyGenerateStrategy:
           column: order_id
           keyGeneratorName: snowflake
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.38.0/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.38.0/reflect-config.json
index 4fcab4ec256..a2ff15e8090 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.38.0/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.calcite/calcite-core/1.38.0/reflect-config.json
@@ -1351,5 +1351,10 @@
   
"condition":{"typeReachable":"org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider"},
   "name":"org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows",
   "allPublicMethods":true
+},
+{
+  "condition":{"typeReachable":"org.apache.calcite.linq4j.tree.Types"},
+  "name":"org.apache.calcite.runtime.variant.VariantValue",
+  "allPublicMethods":true
 }
 ]
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/reflect-config.json
index 8a2b659fc73..0b809c17c88 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.hadoop/hadoop-common/3.3.6/reflect-config.json
@@ -8,5 +8,9 @@
 {
   
"condition":{"typeReachable":"org.apache.hadoop.security.UserGroupInformation"},
   "name":"com.sun.security.auth.NTUserPrincipal"
+},
+{
+  
"condition":{"typeReachable":"org.apache.hadoop.security.UserGroupInformation"},
+  "name":"com.sun.security.auth.UnixPrincipal"
 }
 ]
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.2.0/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.2.0/reflect-config.json
index 32508ed4a02..a7b63967b52 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.2.0/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.seata/seata-all/2.2.0/reflect-config.json
@@ -834,5 +834,13 @@
 {
   
"condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"},
   "name":"io.seata.config.file.FileConfig"
+},
+{
+  
"condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"},
+  "name":"org.apache.seata.rm.datasource.exec.oscar.OscarInsertExecutor"
+},
+{
+  
"condition":{"typeReachable":"org.apache.seata.common.loader.EnhancedServiceLoader"},
+  "name":"org.apache.seata.rm.datasource.exec.kingbase.KingbaseInsertExecutor"
 }
 ]
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json
index 0b3874188e2..30db81f547e 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/generated-reachability-metadata/reflect-config.json
@@ -15,6 +15,10 @@
   
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
   "name":"[Lcom.github.dockerjava.api.model.VolumesFrom;"
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+  "name":"[Lcom.github.dockerjava.api.model.VolumesFrom;"
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.connection.DriverDatabaseConnectionManager$$Lambda/0x0000027a3d907cd8"},
   "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
@@ -75,10 +79,6 @@
   
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.standalone.jdbc.JDBCRepository"},
   "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
 },
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource"},
-  "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
-},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.ShardingSphereProxy"},
   "name":"[Lcom.zaxxer.hikari.util.ConcurrentBag$IConcurrentBagEntry;"
@@ -95,6 +95,10 @@
   
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
   "name":"[Ljava.lang.String;"
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+  "name":"[Ljava.lang.String;"
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.statement.ShardingSpherePreparedStatement"},
   "name":"[Ljava.sql.Statement;"
@@ -116,7 +120,7 @@
   "name":"[Ljava.sql.Statement;"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource"},
+  
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"},
   "name":"[Ljava.sql.Statement;"
 },
 {
@@ -227,6 +231,10 @@
   "queryAllDeclaredMethods":true,
   "queryAllPublicMethods":true
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"},
+  "name":"java.lang.BaseVirtualThread"
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
   "name":"java.lang.Boolean"
@@ -251,6 +259,10 @@
   "name":"java.lang.ClassLoader",
   "queryAllDeclaredMethods":true
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+  "name":"java.lang.ClassLoader"
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
   "name":"java.lang.Cloneable",
@@ -430,7 +442,7 @@
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"},
   "name":"java.lang.Thread",
-  "methods":[{"name":"ofVirtual","parameterTypes":[] }]
+  "methods":[{"name":"isVirtual","parameterTypes":[] }, 
{"name":"ofVirtual","parameterTypes":[] }]
 },
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"},
@@ -535,6 +547,11 @@
   "name":"java.security.AccessController",
   
"methods":[{"name":"doPrivileged","parameterTypes":["java.security.PrivilegedExceptionAction"]
 }]
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+  "name":"java.security.AccessController",
+  
"methods":[{"name":"doPrivileged","parameterTypes":["java.security.PrivilegedExceptionAction"]
 }]
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
   "name":"java.security.PrivilegedAction",
@@ -762,6 +779,10 @@
   "name":"java.util.function.ToLongFunction",
   "queryAllPublicMethods":true
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+  "name":"java.util.logging.Logger"
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
   "name":"java.util.regex.Matcher"
@@ -1096,7 +1117,7 @@
   "name":"org.apache.shardingsphere.driver.ShardingSphereDriver"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.backend.connector.jdbc.datasource.JDBCBackendDataSource"},
+  
"condition":{"typeReachable":"org.apache.shardingsphere.proxy.frontend.postgresql.command.query.extended.Portal"},
   "name":"org.apache.shardingsphere.driver.ShardingSphereDriver"
 },
 {
@@ -1465,10 +1486,6 @@
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
   "name":"org.apache.shardingsphere.infra.database.hive.type.HiveDatabaseType"
 },
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.mariadb.type.MariaDBDatabaseType"
-},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.xa.XAShardingSphereTransactionManager"},
   
"name":"org.apache.shardingsphere.infra.database.mysql.checker.MySQLDatabasePrivilegeChecker"
@@ -1565,38 +1582,6 @@
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
   
"name":"org.apache.shardingsphere.infra.database.sqlserver.type.SQLServerDatabaseType"
 },
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcClickHouseDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcFirebirdDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcMariaDBDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcMySQLDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcOracleDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcPostgreSQLDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcSQLServerDatabaseType"
-},
-{
-  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.core.type.DatabaseTypeFactory"},
-  
"name":"org.apache.shardingsphere.infra.database.testcontainers.type.TcTiDBDatabaseType"
-},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.datasource.pool.destroyer.DataSourcePoolDestroyer"},
   
"name":"org.apache.shardingsphere.infra.datasource.pool.hikari.detector.HikariDataSourcePoolActiveDetector"
@@ -2584,7 +2569,7 @@
   
"name":"org.apache.shardingsphere.proxy.backend.config.yaml.YamlProxyServerConfiguration",
   "allDeclaredFields":true,
   "queryAllPublicMethods":true,
-  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setAuthority","parameterTypes":["org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration"]
 }, 
{"name":"setMode","parameterTypes":["org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration"]
 }, {"name":"setProps","parameterTypes":["java.util.Properties"] }, 
{"name":"setTransaction","parameterTypes":["org.apache.shardingsphere.transaction.yaml.config.YamlTransactionRuleConfiguration"]
 }]
+  "methods":[{"name":"<init>","parameterTypes":[] }, 
{"name":"setAuthority","parameterTypes":["org.apache.shardingsphere.authority.yaml.config.YamlAuthorityRuleConfiguration"]
 }, 
{"name":"setMode","parameterTypes":["org.apache.shardingsphere.infra.yaml.config.pojo.mode.YamlModeConfiguration"]
 }, {"name":"setProps","parameterTypes":["java.util.Properties"] }]
 },
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.infra.util.yaml.YamlEngine"},
@@ -3611,6 +3596,11 @@
   
"name":"org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDMLStatementVisitor",
   "methods":[{"name":"<init>","parameterTypes":[] }]
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.infra.parser.cache.SQLStatementCacheLoader"},
+  
"name":"org.apache.shardingsphere.sql.parser.postgresql.visitor.statement.type.PostgreSQLDMLStatementVisitor",
+  "methods":[{"name":"<init>","parameterTypes":[] }]
+},
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.sql.parser.core.database.visitor.SQLStatementVisitorFactory"},
   
"name":"org.apache.shardingsphere.sql.parser.sql92.visitor.statement.SQL92StatementVisitorFacade",
@@ -3791,32 +3781,56 @@
   
"name":"org.apache.shardingsphere.sqlfederation.distsql.parser.facade.SQLFederationDistSQLParserFacade"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.H2OptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.H2ConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.MySQLConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.OpenGaussConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.OracleConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.PostgreSQLConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.SQL92ConnectionConfigBuilder"
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.impl.SQLServerConnectionConfigBuilder"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.MySQLOptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.schema.CalciteSchemaBuilder"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.impl.MySQLBinFunction"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.OpenGaussOptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.schema.CalciteSchemaBuilder$$Lambda/0x0000027d0c57d148"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.impl.MySQLBinFunction"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.OracleOptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.MySQLFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.impl.MySQLBinFunction"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.PostgreSQLOptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.opengauss.OpenGaussFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.opengauss.impl.OpenGaussSystemFunction"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.SQL92OptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.opengauss.OpenGaussFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.postgresql.impl.PostgreSQLSystemFunction"
 },
 {
-  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.impl.SQLServerOptimizerBuilder"
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.postgresql.PostgreSQLFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.postgresql.impl.PostgreSQLSystemFunction"
 },
 {
   
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
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 f220d211116..8fa5a0d0f6d 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
@@ -3,21 +3,63 @@
   "includes":[{
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
     "pattern":"\\QMETA-INF/dgminfo\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/druid-driver.properties\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.expr.groovy.GroovyInlineExpressionParser"},
     
"pattern":"\\QMETA-INF/groovy/org.codehaus.groovy.runtime.ExtensionModule\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.xa.atomikos.manager.AtomikosTransactionManagerProvider"},
     "pattern":"\\QMETA-INF/maven/com.atomikos/atomikos-util/pom.properties\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/io.seata.config.ConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/io.seata.core.auth.AuthSigner\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataTransactionalSQLExecutionHook"},
     "pattern":"\\QMETA-INF/seata/io.seata.core.context.ContextCore\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/io.seata.core.model.ResourceManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/io.seata.discovery.registry.RegistryProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.config.ConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.config.ExtConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/org.apache.seata.core.auth.AuthSigner\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataTransactionalSQLExecutionHook"},
     "pattern":"\\QMETA-INF/seata/org.apache.seata.core.context.ContextCore\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.core.model.ResourceManager\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
     
"pattern":"\\QMETA-INF/seata/org.apache.seata.core.model.TransactionManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/org.apache.seata.core.rpc.hook.RpcHook\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.discovery.registry.RegistryProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/seata/org.apache.seata.rm.AbstractRMHandler\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.rm.datasource.undo.UndoLogManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/seata/org.apache.seata.sqlparser.util.DbTypeParser\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.xa.atomikos.manager.AtomikosTransactionManagerProvider"},
     
"pattern":"\\QMETA-INF/services/com.atomikos.icatch.TransactionServicePlugin\\E"
@@ -42,9 +84,21 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"},
     "pattern":"\\QMETA-INF/services/io.grpc.NameResolverProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/io.seata.config.ConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/io.seata.core.auth.AuthSigner\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataTransactionalSQLExecutionHook"},
     "pattern":"\\QMETA-INF/services/io.seata.core.context.ContextCore\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/io.seata.core.model.ResourceManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/io.seata.discovery.registry.RegistryProvider\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.mode.repository.cluster.etcd.EtcdRepository"},
     "pattern":"\\QMETA-INF/services/io.vertx.core.spi.VerticleFactory\\E"
@@ -78,12 +132,39 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.hive.metadata.data.loader.HiveMetaDataLoader"},
     "pattern":"\\QMETA-INF/services/javax.xml.transform.TransformerFactory\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.config.ConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.config.ExtConfigurationProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/org.apache.seata.core.auth.AuthSigner\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataTransactionalSQLExecutionHook"},
     
"pattern":"\\QMETA-INF/services/org.apache.seata.core.context.ContextCore\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.core.model.ResourceManager\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
     
"pattern":"\\QMETA-INF/services/org.apache.seata.core.model.TransactionManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/org.apache.seata.core.rpc.hook.RpcHook\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.discovery.registry.RegistryProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\QMETA-INF/services/org.apache.seata.rm.AbstractRMHandler\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.rm.datasource.undo.UndoLogManager\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.apache.seata.sqlparser.util.DbTypeParser\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.authority.rule.AuthorityRule"},
     
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.authority.spi.PrivilegeProvider\\E"
@@ -229,8 +310,8 @@
     
"condition":{"typeReachable":"org.apache.shardingsphere.readwritesplitting.route.standard.StandardReadwriteSplittingDataSourceRouter"},
     
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.readwritesplitting.route.standard.filter.ReadDataSourcesFilter\\E"
   }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
-    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLDialectBuilder\\E"
+    
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
+    
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilder\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.engine.SQLFederationEngine"},
     
"pattern":"\\QMETA-INF/services/org.apache.shardingsphere.sqlfederation.spi.SQLFederationDecider\\E"
@@ -255,9 +336,15 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
     
"pattern":"\\QMETA-INF/services/org.testcontainers.containers.JdbcDatabaseContainerProvider\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.testcontainers.containers.JdbcDatabaseContainerProvider\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
     
"pattern":"\\QMETA-INF/services/org.testcontainers.core.CreateContainerCmdModifier\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    
"pattern":"\\QMETA-INF/services/org.testcontainers.core.CreateContainerCmdModifier\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
     "pattern":"\\Q\\E"
@@ -300,6 +387,9 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.xa.atomikos.manager.AtomikosTransactionManagerProvider"},
     "pattern":"\\Qjta.properties\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\Qlib/sqlparser/druid.jar\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.database.hive.metadata.data.loader.HiveMetaDataLoader"},
     "pattern":"\\Qmapred-default.xml\\E"
@@ -315,11 +405,14 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
     "pattern":"\\Qorg/postgresql/driverconfig.properties\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\Qorg/postgresql/driverconfig.properties\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
     "pattern":"\\Qregistry.conf\\E"
   }, {
-    
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.parser.dialect.OptimizerSQLPropertiesBuilder"},
+    
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.context.connection.config.ConnectionConfigBuilderFactory"},
     "pattern":"\\Qsaffron.properties\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.metadata.database.schema.manager.SystemSchemaManager"},
@@ -1866,6 +1959,9 @@
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.driver.jdbc.core.datasource.ShardingSphereDataSource"},
     "pattern":"\\Qtest-native/sql/seata-script-client-at-postgresql.sql\\E"
+  }, {
+    
"condition":{"typeReachable":"org.apache.shardingsphere.transaction.base.seata.at.SeataATShardingSphereTransactionManager"},
+    "pattern":"\\Qtest-native/sql/seata-script-client-at-postgresql.sql\\E"
   }, {
     
"condition":{"typeReachable":"org.apache.shardingsphere.infra.url.classpath.ClassPathURLLoader"},
     "pattern":"\\Qtest-native/yaml/jdbc/databases/clickhouse.yaml\\E"
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json
index 23d508f0a84..92ea88c5ac7 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.apache.shardingsphere/shardingsphere-infra-reachability-metadata/reflect-config.json
@@ -427,6 +427,21 @@
   
"name":"org.apache.shardingsphere.sql.parser.statement.hive.dml.HiveSelectStatement",
   "methods":[{"name":"<init>","parameterTypes":[] }]
 },
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.MySQLFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.mysql.impl.MySQLBinFunction",
+  "allPublicMethods": true
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.postgresql.PostgreSQLFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.postgresql.impl.PostgreSQLSystemFunction",
+  "allPublicMethods": true
+},
+{
+  
"condition":{"typeReachable":"org.apache.shardingsphere.sqlfederation.optimizer.function.opengauss.OpenGaussFunctionRegister"},
+  
"name":"org.apache.shardingsphere.sqlfederation.optimizer.function.opengauss.impl.OpenGaussSystemFunction",
+  "allPublicMethods": true
+},
 {
   "condition":{"typeReachable":"javax.security.auth.login.Configuration"},
   "name":"sun.security.provider.ConfigFile",
diff --git 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json
 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json
index 4acfe31d5f9..3e5dc7835e6 100644
--- 
a/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json
+++ 
b/infra/reachability-metadata/src/main/resources/META-INF/native-image/org.junit.jupiter/junit-jupiter/5.11.1/reflect-config.json
@@ -33,5 +33,10 @@
   
"condition":{"typeReachable":"org.junit.platform.commons.util.ReflectionUtils"},
   "name":"org.junit.internal.AssumptionViolatedException",
   "allPublicMethods": true
+},
+{
+  
"condition":{"typeReachable":"org.junit.platform.commons.util.AnnotationUtils"},
+  "name":"org.junit.jupiter.api.condition.DisabledOnOs",
+  "allPublicMethods": true
 }
 ]
diff --git a/test/native/pom.xml b/test/native/pom.xml
index a9fd7e0a3f8..796f6267c59 100644
--- a/test/native/pom.xml
+++ b/test/native/pom.xml
@@ -232,6 +232,12 @@
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.shardingsphere</groupId>
+            <artifactId>shardingsphere-parser-sql-firebird</artifactId>
+            <version>${project.version}</version>
+            <scope>test</scope>
+        </dependency>
         
         <dependency>
             <groupId>org.awaitility</groupId>
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcPostgreSQLDatabaseType.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcPostgreSQLDatabaseType.java
similarity index 95%
rename from 
test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcPostgreSQLDatabaseType.java
rename to 
test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcPostgreSQLDatabaseType.java
index 2d189569e7f..caa2d085142 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcPostgreSQLDatabaseType.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcPostgreSQLDatabaseType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.natived.testcontainers;
+package 
org.apache.shardingsphere.test.natived.commons.algorithm.testcontainers;
 
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcSQLServerDatabaseType.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcSQLServerDatabaseType.java
similarity index 95%
rename from 
test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcSQLServerDatabaseType.java
rename to 
test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcSQLServerDatabaseType.java
index a84cecce789..f6606473f7c 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TcSQLServerDatabaseType.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TcSQLServerDatabaseType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.natived.testcontainers;
+package 
org.apache.shardingsphere.test.natived.commons.algorithm.testcontainers;
 
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TestcontainersDatabaseType.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TestcontainersDatabaseType.java
similarity index 92%
rename from 
test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TestcontainersDatabaseType.java
rename to 
test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TestcontainersDatabaseType.java
index 600baed4f0a..e95a99db3d3 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/testcontainers/TestcontainersDatabaseType.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/algorithm/testcontainers/TestcontainersDatabaseType.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.test.natived.testcontainers;
+package 
org.apache.shardingsphere.test.natived.commons.algorithm.testcontainers;
 
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java
index bda3b2e4519..ac52e6a9c78 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/commons/proxy/ProxyTestingServer.java
@@ -34,9 +34,9 @@ import java.util.concurrent.TimeUnit;
  * It is necessary to avoid creating multiple ShardingSphere Proxy instances 
in parallel in Junit5 unit tests.
  * Currently, Junit5 unit tests are all executed serially.
  */
-@Getter
 public final class ProxyTestingServer {
     
+    @Getter
     private final int proxyPort;
     
     private final CompletableFuture<Void> completableFuture;
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java
index f5c0f1ba290..2b4bcba07b7 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/jdbc/transactions/base/SeataTest.java
@@ -77,6 +77,7 @@ class SeataTest {
     @AfterEach
     void afterEach() throws SQLException {
         Awaitility.await().pollDelay(5L, TimeUnit.SECONDS).until(() -> true);
+        System.clearProperty(serviceDefaultGroupListKey);
         try (Connection connection = logicDataSource.getConnection()) {
             ContextManager contextManager = 
connection.unwrap(ShardingSphereConnection.class).getContextManager();
             for (StorageUnit each : 
contextManager.getStorageUnits(DefaultDatabase.LOGIC_NAME).values()) {
@@ -85,7 +86,6 @@ class SeataTest {
             contextManager.close();
         }
         ContainerDatabaseDriver.killContainers();
-        System.clearProperty(serviceDefaultGroupListKey);
     }
     
     @Test
diff --git 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java
 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java
index 05da553e4ec..4ba3f454f1a 100644
--- 
a/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java
+++ 
b/test/native/src/test/java/org/apache/shardingsphere/test/natived/proxy/transactions/base/SeataTest.java
@@ -28,8 +28,8 @@ import 
org.apache.shardingsphere.test.natived.commons.proxy.ProxyTestingServer;
 import org.awaitility.Awaitility;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.condition.EnabledInNativeImage;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.PostgreSQLContainer;
 import org.testcontainers.containers.wait.strategy.Wait;
@@ -52,7 +52,7 @@ import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
 
 @SuppressWarnings({"SqlNoDataSourceInspection", "resource"})
-@EnabledInNativeImage
+@Disabled("TODO Executing this unit test in Github Actions Runner may cause 
connection leaks in other unit tests. Pending investigation.")
 @Testcontainers
 class SeataTest {
     
@@ -96,11 +96,11 @@ class SeataTest {
     @AfterEach
     void afterEach() {
         Awaitility.await().pollDelay(5L, TimeUnit.SECONDS).until(() -> true);
+        System.clearProperty(serviceDefaultGroupListKey);
         proxyTestingServer.close();
         TmNettyRemotingClient.getInstance().destroy();
         RmNettyRemotingClient.getInstance().destroy();
         ConfigurationFactory.reload();
-        System.clearProperty(serviceDefaultGroupListKey);
     }
     
     /**
diff --git 
a/test/native/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.type.DatabaseType
 
b/test/native/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.type.DatabaseType
index 40a36b6b1b2..684b775f5ce 100644
--- 
a/test/native/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.type.DatabaseType
+++ 
b/test/native/src/test/resources/META-INF/services/org.apache.shardingsphere.infra.database.core.type.DatabaseType
@@ -15,5 +15,5 @@
 # limitations under the License.
 #
 
-org.apache.shardingsphere.test.natived.testcontainers.TcPostgreSQLDatabaseType
-org.apache.shardingsphere.test.natived.testcontainers.TcSQLServerDatabaseType
+org.apache.shardingsphere.test.natived.commons.algorithm.testcontainers.TcPostgreSQLDatabaseType
+org.apache.shardingsphere.test.natived.commons.algorithm.testcontainers.TcSQLServerDatabaseType

Reply via email to