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); }