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 643200e4a25 Optimize Oracle database handling in container composers 
(#35331)
643200e4a25 is described below

commit 643200e4a25d71074124b94c3f833256bc6e5e91
Author: Liang Zhang <zhangli...@apache.org>
AuthorDate: Mon May 5 15:21:29 2025 +0800

    Optimize Oracle database handling in container composers (#35331)
    
    - Remove unused import of OracleDatabaseType
    - Simplify Oracle-specific logic in DockerContainerComposer and 
NativeContainerComposer
    - Use string comparison instead of instance check for Oracle database type
    - Refactor PipelineContainerComposer to use DatabaseTypeRegistry for 
identifier formatting
---
 .../test/e2e/data/pipeline/cases/PipelineContainerComposer.java    | 4 ++--
 .../framework/container/compose/DockerContainerComposer.java       | 7 ++-----
 .../framework/container/compose/NativeContainerComposer.java       | 6 ++----
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
index 4d74c017f75..d6691b23180 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/cases/PipelineContainerComposer.java
@@ -218,9 +218,9 @@ public final class PipelineContainerComposer implements 
AutoCloseable {
         if (PipelineEnvTypeEnum.NATIVE != 
PipelineE2EEnvironment.getInstance().getItEnvType()) {
             return;
         }
+        DatabaseTypeRegistry databaseTypeRegistry = new 
DatabaseTypeRegistry(databaseType);
         for (String each : Arrays.asList(DS_0, DS_1, DS_2, DS_3, DS_4)) {
-            String databaseName = databaseType instanceof OracleDatabaseType ? 
each.toUpperCase() : each;
-            containerComposer.cleanUpDatabase(databaseName);
+            
containerComposer.cleanUpDatabase(databaseTypeRegistry.formatIdentifierPattern(each));
         }
     }
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/DockerContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/DockerContainerComposer.java
index 142fc7fc9fb..816119ed784 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/DockerContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/DockerContainerComposer.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.test.e2e.data.pipeline.framework.container.com
 import lombok.Getter;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.database.mysql.type.MySQLDatabaseType;
-import org.apache.shardingsphere.infra.database.oracle.type.OracleDatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.test.e2e.data.pipeline.env.PipelineE2EEnvironment;
 import 
org.apache.shardingsphere.test.e2e.data.pipeline.env.enums.PipelineProxyTypeEnum;
@@ -73,7 +72,7 @@ public final class DockerContainerComposer extends 
BaseContainerComposer {
             storageContainers.add(storageContainer);
         }
         AdaptorContainerConfiguration containerConfig = 
PipelineProxyClusterContainerConfigurationFactory.newInstance(databaseType);
-        DatabaseType proxyDatabaseType = databaseType instanceof 
OracleDatabaseType ? TypedSPILoader.getService(DatabaseType.class, "MySQL") : 
databaseType;
+        DatabaseType proxyDatabaseType = 
"Oracle".equals(databaseType.getType()) ? 
TypedSPILoader.getService(DatabaseType.class, "MySQL") : databaseType;
         if (PipelineE2EEnvironment.getInstance().getItProxyType() == 
PipelineProxyTypeEnum.INTERNAL) {
             ShardingSphereProxyContainer proxyContainer = new 
ShardingSphereProxyContainer(proxyDatabaseType, containerConfig);
             for (DockerStorageContainer each : storageContainers) {
@@ -100,9 +99,7 @@ public final class DockerContainerComposer extends 
BaseContainerComposer {
             host = proxyContainer.getHost();
             port = proxyContainer.getFirstMappedPort();
         }
-        if (databaseType instanceof OracleDatabaseType) {
-            return 
DataSourceEnvironment.getURL(TypedSPILoader.getService(DatabaseType.class, 
"MySQL"), host, port, databaseName);
-        }
+        DatabaseType databaseType = 
"Oracle".equals(this.databaseType.getType()) ? 
TypedSPILoader.getService(DatabaseType.class, "MySQL") : this.databaseType;
         return DataSourceEnvironment.getURL(databaseType, host, port, 
databaseName);
     }
     
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/NativeContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/NativeContainerComposer.java
index b7e0e28b269..b6888e8dd21 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/NativeContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/data/pipeline/framework/container/compose/NativeContainerComposer.java
@@ -20,7 +20,7 @@ package 
org.apache.shardingsphere.test.e2e.data.pipeline.framework.container.com
 import lombok.SneakyThrows;
 import 
org.apache.shardingsphere.infra.database.core.connector.url.JdbcUrlAppender;
 import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
-import org.apache.shardingsphere.infra.database.oracle.type.OracleDatabaseType;
+import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import 
org.apache.shardingsphere.test.e2e.data.pipeline.env.PipelineE2EEnvironment;
 import org.apache.shardingsphere.test.e2e.env.runtime.DataSourceEnvironment;
 import org.apache.shardingsphere.test.util.PropertiesBuilder;
@@ -120,9 +120,7 @@ public final class NativeContainerComposer extends 
BaseContainerComposer {
     
     @Override
     public String getProxyJdbcUrl(final String databaseName) {
-        if (databaseType instanceof OracleDatabaseType) {
-            return 
String.format("jdbc:mysql://localhost:3307/%s?useSSL=false", databaseName);
-        }
+        DatabaseType databaseType = 
"Oracle".equals(this.databaseType.getType()) ? 
TypedSPILoader.getService(DatabaseType.class, "MySQL") : this.databaseType;
         return DataSourceEnvironment.getURL(databaseType, "localhost", 3307, 
databaseName);
     }
     

Reply via email to