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

yx9o 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 2e1eb7d8a1f Use database default schema in schema refresh utility 
(#39597)
2e1eb7d8a1f is described below

commit 2e1eb7d8a1f1db529c2079138dcc8658636d8fcf
Author: Haoran Meng <[email protected]>
AuthorDate: Wed Aug 26 08:21:24 2026 +0800

    Use database default schema in schema refresh utility (#39597)
---
 .../mode/metadata/refresher/util/SchemaRefreshUtils.java       |  3 +--
 .../mode/metadata/refresher/util/SchemaRefreshUtilsTest.java   | 10 ++++++++++
 2 files changed, 11 insertions(+), 2 deletions(-)

diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtils.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtils.java
index 966f76931b0..1b87b7d2deb 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtils.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtils.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.mode.metadata.refresher.util;
 import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import 
org.apache.shardingsphere.database.connector.core.metadata.identifier.IdentifierScope;
-import 
org.apache.shardingsphere.database.connector.core.type.DatabaseTypeRegistry;
 import 
org.apache.shardingsphere.infra.binder.context.statement.SQLStatementContext;
 import 
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
 import 
org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
@@ -80,6 +79,6 @@ public final class SchemaRefreshUtils {
     
     private static IdentifierValue getRawSchemaName(final 
ShardingSphereDatabase database, final SQLStatementContext sqlStatementContext) 
{
         return sqlStatementContext.getTablesContext().getIdentifierSchemaName()
-                .orElseGet(() -> new IdentifierValue(new 
DatabaseTypeRegistry(sqlStatementContext.getSqlStatement().getDatabaseType()).getDefaultSchemaName(database.getName())));
+                .orElseGet(() -> new 
IdentifierValue(database.getDefaultSchemaName()));
     }
 }
diff --git 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtilsTest.java
 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtilsTest.java
index 30dad64c37f..1d3930462d6 100644
--- 
a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtilsTest.java
+++ 
b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/util/SchemaRefreshUtilsTest.java
@@ -74,6 +74,16 @@ class SchemaRefreshUtilsTest {
         assertThat(SchemaRefreshUtils.getActualSchemaName(database, new 
IdentifierValue("Foo_Schema")), is("FOO_SCHEMA"));
     }
     
+    @Test
+    void assertGetActualSchemaNameWithoutSchemaUsesDatabaseDefault() {
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
+        when(database.getDefaultSchemaName()).thenReturn("FOO_DEFAULT_SCHEMA");
+        when(database.getIdentifierContext()).thenReturn(new 
DatabaseIdentifierContext(IdentifierCasePolicyFactory.newUpperCasePolicySet(),
+                IdentifierCasePolicyFactory.newSensitivePolicySet(), 
IdentifierCasePolicyFactory.newInsensitivePolicySet(), false));
+        when(database.getAllSchemas()).thenReturn(Collections.emptyList());
+        assertThat(SchemaRefreshUtils.getActualSchemaName(database, 
createSQLStatementContextWithoutSchema()), is("FOO_DEFAULT_SCHEMA"));
+    }
+    
     private ShardingSphereDatabase createDatabase() {
         return new ShardingSphereDatabase("FOO_DB", databaseType, new 
ResourceMetaData(Collections.emptyMap()), new 
RuleMetaData(Collections.emptyList()), Collections.emptyList(),
                 new ConfigurationProperties(new Properties()));

Reply via email to