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

zhonghongsheng 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 8141b2ec2d8 Extract ProxyDatabaseTypeUtils.isOracleBranch for pipeline 
E2E (#37674)
8141b2ec2d8 is described below

commit 8141b2ec2d8dd59c93546ca0986f044a60db9d8d
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Wed Jan 7 19:23:09 2026 +0800

    Extract ProxyDatabaseTypeUtils.isOracleBranch for pipeline E2E (#37674)
---
 .../operation/pipeline/cases/PipelineContainerComposer.java   |  6 +++---
 .../e2e/operation/pipeline/util/ProxyDatabaseTypeUtils.java   | 11 +++++++++++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
index 2f4d7cc278f..9194cb29e0b 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/cases/PipelineContainerComposer.java
@@ -33,7 +33,6 @@ import 
org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import 
org.apache.shardingsphere.database.connector.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.database.connector.mysql.type.MySQLDatabaseType;
 import 
org.apache.shardingsphere.database.connector.opengauss.type.OpenGaussDatabaseType;
-import 
org.apache.shardingsphere.database.connector.oracle.type.OracleDatabaseType;
 import 
org.apache.shardingsphere.database.connector.postgresql.type.PostgreSQLDatabaseType;
 import org.apache.shardingsphere.infra.exception.ShardingSpherePreconditions;
 import org.apache.shardingsphere.infra.util.props.PropertiesBuilder;
@@ -53,6 +52,7 @@ import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.container
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.container.compose.docker.PipelineDockerContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.container.compose.natived.PipelineNativeContainerComposer;
 import 
org.apache.shardingsphere.test.e2e.operation.pipeline.framework.param.PipelineTestParameter;
+import 
org.apache.shardingsphere.test.e2e.operation.pipeline.util.ProxyDatabaseTypeUtils;
 import org.awaitility.Awaitility;
 
 import javax.sql.DataSource;
@@ -249,7 +249,7 @@ public final class PipelineContainerComposer implements 
AutoCloseable {
      * @throws SQLException SQL exception
      */
     public void registerStorageUnit(final String storageUnitName) throws 
SQLException {
-        String username = databaseType instanceof OracleDatabaseType ? 
storageUnitName : getUsername();
+        String username = ProxyDatabaseTypeUtils.isOracleBranch(databaseType) 
? storageUnitName : getUsername();
         String registerStorageUnitTemplate = "REGISTER STORAGE UNIT ${ds} ( 
URL='${url}', USER='${user}', PASSWORD='${password}')".replace("${ds}", 
storageUnitName)
                 .replace("${user}", username)
                 .replace("${password}", getPassword())
@@ -304,7 +304,7 @@ public final class PipelineContainerComposer implements 
AutoCloseable {
      * @return actual JDBC URL template
      */
     public String getActualJdbcUrlTemplate(final String databaseName, final 
boolean isInContainer) {
-        if (databaseType instanceof OracleDatabaseType) {
+        if (ProxyDatabaseTypeUtils.isOracleBranch(databaseType)) {
             return getActualJdbcUrlTemplate(databaseName, isInContainer, 0);
         }
         return appendExtraParameter(getActualJdbcUrlTemplate(databaseName, 
isInContainer, 0));
diff --git 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/util/ProxyDatabaseTypeUtils.java
 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/util/ProxyDatabaseTypeUtils.java
index 7bee1b13d25..c349543e685 100644
--- 
a/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/util/ProxyDatabaseTypeUtils.java
+++ 
b/test/e2e/operation/pipeline/src/test/java/org/apache/shardingsphere/test/e2e/operation/pipeline/util/ProxyDatabaseTypeUtils.java
@@ -20,6 +20,7 @@ package 
org.apache.shardingsphere.test.e2e.operation.pipeline.util;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.database.connector.oracle.type.OracleDatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 
 import java.util.Collection;
@@ -46,4 +47,14 @@ public final class ProxyDatabaseTypeUtils {
     private static Collection<String> getUnsupportedProxyDatabaseTypes() {
         return Collections.singleton("Oracle");
     }
+    
+    /**
+     * Is oracle branch database type.
+     *
+     * @param databaseType database type
+     * @return true if is oracle branch database type, else false
+     */
+    public static boolean isOracleBranch(final DatabaseType databaseType) {
+        return databaseType.getTrunkDatabaseType().orElse(databaseType) 
instanceof OracleDatabaseType;
+    }
 }

Reply via email to