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 c94653845b6 Revise 19479 (#19520)
c94653845b6 is described below

commit c94653845b64391b99520e98b445ec348143b16c
Author: zhaojinchao <[email protected]>
AuthorDate: Mon Jul 25 19:37:17 2022 +0800

    Revise 19479 (#19520)
    
    * Revise #19479
    
    * Fix unit test
---
 .../impl/EncryptOrderByItemTokenGeneratorTest.java       |  1 +
 .../impl/EncryptProjectionTokenGeneratorTest.java        |  1 +
 .../generator/EncryptInsertValuesTokenGeneratorTest.java |  2 ++
 .../merge/dql/groupby/GroupByMemoryMergedResultTest.java |  3 +++
 .../TopAndRowNumberDecoratorMergedResultTest.java        | 16 +++++++++++-----
 .../ShardingCreateFunctionStatementValidatorTest.java    |  8 ++++++--
 .../ShardingCreateProcedureStatementValidatorTest.java   |  8 ++++++--
 .../ddl/ShardingDropTableStatementValidatorTest.java     |  1 +
 .../shardingsphere/sharding/rule/ShardingRuleTest.java   |  4 +++-
 .../infra/database/type/DatabaseTypeEngine.java          |  2 +-
 .../infra/metadata/database/ShardingSphereDatabase.java  |  2 +-
 .../infra/database/type/DatabaseTypeEngineTest.java      |  2 +-
 .../context/refresher/MetaDataRefreshEngineTest.java     |  5 ++++-
 .../driver/jdbc/adapter/StatementAdapterTest.java        |  2 ++
 .../unsupported/UnsupportedOperationStatementTest.java   |  1 +
 .../singletable/route/SingleTableSQLRouterTest.java      |  1 +
 16 files changed, 45 insertions(+), 14 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptOrderByItemTokenGeneratorTest.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptOrderByItemTokenGeneratorTest.java
index 1ac6479f0f4..e4f6a6a098b 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptOrderByItemTokenGeneratorTest.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptOrderByItemTokenGeneratorTest.java
@@ -54,6 +54,7 @@ public final class EncryptOrderByItemTokenGeneratorTest {
     public void setup() {
         generator = new EncryptOrderByItemTokenGenerator();
         generator.setEncryptRule(buildEncryptRule());
+        generator.setDatabaseName("db_schema");
         generator.setSchemas(Collections.singletonMap("test", 
mock(ShardingSphereSchema.class)));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
index b444fbbc39f..9af3ee07dd0 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/impl/EncryptProjectionTokenGeneratorTest.java
@@ -57,6 +57,7 @@ public final class EncryptProjectionTokenGeneratorTest {
     public void setup() {
         generator = new EncryptProjectionTokenGenerator();
         generator.setEncryptRule(mockEncryptRule());
+        generator.setDatabaseName("db_schema");
         generator.setSchemas(Collections.singletonMap("test", 
mock(ShardingSphereSchema.class)));
     }
     
diff --git 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGeneratorTest.java
 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGeneratorTest.java
index 3b3cf8b9985..9819eccaf16 100644
--- 
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGeneratorTest.java
+++ 
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/rewrite/token/generator/EncryptInsertValuesTokenGeneratorTest.java
@@ -40,6 +40,7 @@ public final class EncryptInsertValuesTokenGeneratorTest 
extends EncryptGenerato
         EncryptInsertValuesTokenGenerator encryptInsertValuesTokenGenerator = 
new EncryptInsertValuesTokenGenerator();
         encryptInsertValuesTokenGenerator.setEncryptRule(new 
EncryptRule(createEncryptRuleConfiguration()));
         
encryptInsertValuesTokenGenerator.setPreviousSQLTokens(Collections.emptyList());
+        encryptInsertValuesTokenGenerator.setDatabaseName("db_schema");
         
assertThat(encryptInsertValuesTokenGenerator.generateSQLToken(createInsertStatementContext(Arrays.asList(1,
 "Tom", 0, "123456"))).toString(), is("(?, ?, ?, ?, ?, ?)"));
     }
     
@@ -48,6 +49,7 @@ public final class EncryptInsertValuesTokenGeneratorTest 
extends EncryptGenerato
         EncryptInsertValuesTokenGenerator encryptInsertValuesTokenGenerator = 
new EncryptInsertValuesTokenGenerator();
         encryptInsertValuesTokenGenerator.setEncryptRule(new 
EncryptRule(createEncryptRuleConfiguration()));
         
encryptInsertValuesTokenGenerator.setPreviousSQLTokens(getPreviousSQLTokens());
+        encryptInsertValuesTokenGenerator.setDatabaseName("db_schema");
         
assertThat(encryptInsertValuesTokenGenerator.generateSQLToken(createInsertStatementContext(Arrays.asList(1,
 "Tom", 0, "123456"))).toString(), is("(?, ?, ?, ?, ?, ?)"));
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
index 050c03eaf75..91883e810ab 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/groupby/GroupByMemoryMergedResultTest.java
@@ -67,6 +67,7 @@ public final class GroupByMemoryMergedResultTest {
     
     @Test
     public void assertNextForResultSetsAllEmpty() throws SQLException {
+        when(database.getName()).thenReturn("db_schema");
         ShardingDQLResultMerger resultMerger = new 
ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("MySQL"));
         MergedResult actual = 
resultMerger.merge(Arrays.asList(createQueryResult(), createQueryResult(), 
createQueryResult()), createSelectStatementContext(), database);
         assertTrue(actual.next());
@@ -77,6 +78,7 @@ public final class GroupByMemoryMergedResultTest {
     
     @Test
     public void assertNextForSomeResultSetsEmpty() throws SQLException {
+        when(database.getName()).thenReturn("db_schema");
         QueryResult queryResult1 = createQueryResult();
         when(queryResult1.next()).thenReturn(true, false);
         when(queryResult1.getValue(1, Object.class)).thenReturn(20);
@@ -137,6 +139,7 @@ public final class GroupByMemoryMergedResultTest {
     
     @Test
     public void assertNextForAggregationResultSetsEmpty() throws SQLException {
+        when(database.getName()).thenReturn("db_schema");
         QueryResult queryResult1 = createQueryResult();
         when(queryResult1.next()).thenReturn(true, false);
         when(queryResult1.getValue(1, Object.class)).thenReturn(20);
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
index d72d79c4851..7e9e161de4d 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/merge/dql/pagination/TopAndRowNumberDecoratorMergedResultTest.java
@@ -63,7 +63,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
                 Collections.emptyList(), sqlStatement, 
DefaultDatabase.LOGIC_NAME);
         ShardingDQLResultMerger resultMerger = new 
ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("SQLServer"));
         MergedResult actual = 
resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
-                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mockShardingSphereDatabase());
         assertFalse(actual.next());
     }
     
@@ -78,7 +78,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
         SelectStatementContext selectStatementContext = new 
SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, 
database), Collections.emptyList(),
                 sqlStatement, DefaultDatabase.LOGIC_NAME);
         MergedResult actual = 
resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
-                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mockShardingSphereDatabase());
         for (int i = 0; i < 5; i++) {
             assertTrue(actual.next());
         }
@@ -96,7 +96,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest {
                 Collections.emptyList(), sqlStatement, 
DefaultDatabase.LOGIC_NAME);
         ShardingDQLResultMerger resultMerger = new 
ShardingDQLResultMerger(DatabaseTypeFactory.getInstance("SQLServer"));
         MergedResult actual = 
resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
-                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mockShardingSphereDatabase());
         for (int i = 0; i < 7; i++) {
             assertTrue(actual.next());
         }
@@ -114,7 +114,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest 
{
         SelectStatementContext selectStatementContext = new 
SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, 
database),
                 Collections.emptyList(), sqlStatement, 
DefaultDatabase.LOGIC_NAME);
         MergedResult actual = 
resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
-                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mockShardingSphereDatabase());
         assertTrue(actual.next());
         assertTrue(actual.next());
         assertFalse(actual.next());
@@ -131,7 +131,7 @@ public final class TopAndRowNumberDecoratorMergedResultTest 
{
         SelectStatementContext selectStatementContext = new 
SelectStatementContext(Collections.singletonMap(DefaultDatabase.LOGIC_NAME, 
database),
                 Collections.emptyList(), sqlStatement, 
DefaultDatabase.LOGIC_NAME);
         MergedResult actual = 
resultMerger.merge(Arrays.asList(mockQueryResult(), mockQueryResult(),
-                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+                mockQueryResult(), mockQueryResult()), selectStatementContext, 
mockShardingSphereDatabase());
         assertTrue(actual.next());
         assertTrue(actual.next());
         assertTrue(actual.next());
@@ -143,4 +143,10 @@ public final class 
TopAndRowNumberDecoratorMergedResultTest {
         when(result.next()).thenReturn(true, true, false);
         return result;
     }
+    
+    private ShardingSphereDatabase mockShardingSphereDatabase() {
+        ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(result.getName()).thenReturn("db_schema");
+        return result;
+    }
 }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
index b8817a35492..ceef5a87c08 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateFunctionStatementValidatorTest.java
@@ -85,7 +85,9 @@ public final class 
ShardingCreateFunctionStatementValidatorTest {
         MySQLCreateFunctionStatement sqlStatement = new 
MySQLCreateFunctionStatement();
         sqlStatement.setRoutineBody(routineBody);
         SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new 
CommonSQLStatementContext<>(sqlStatement);
-        new 
ShardingCreateFunctionStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
+        new 
ShardingCreateFunctionStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), database);
     }
     
     @Test(expected = NoSuchTableException.class)
@@ -99,7 +101,9 @@ public final class 
ShardingCreateFunctionStatementValidatorTest {
         MySQLCreateFunctionStatement sqlStatement = new 
MySQLCreateFunctionStatement();
         sqlStatement.setRoutineBody(routineBody);
         SQLStatementContext<CreateFunctionStatement> sqlStatementContext = new 
CommonSQLStatementContext<>(sqlStatement);
-        new 
ShardingCreateFunctionStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
+        new 
ShardingCreateFunctionStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), database);
     }
     
     @Test(expected = TableExistsException.class)
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
index 5715820ef4f..8fef56e2faf 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingCreateProcedureStatementValidatorTest.java
@@ -86,7 +86,9 @@ public final class 
ShardingCreateProcedureStatementValidatorTest {
         MySQLCreateProcedureStatement sqlStatement = new 
MySQLCreateProcedureStatement();
         sqlStatement.setRoutineBody(routineBody);
         SQLStatementContext<CreateProcedureStatement> sqlStatementContext = 
new CommonSQLStatementContext<>(sqlStatement);
-        new 
ShardingCreateProcedureStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
+        new 
ShardingCreateProcedureStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), database);
     }
     
     @Test(expected = NoSuchTableException.class)
@@ -100,7 +102,9 @@ public final class 
ShardingCreateProcedureStatementValidatorTest {
         MySQLCreateProcedureStatement sqlStatement = new 
MySQLCreateProcedureStatement();
         sqlStatement.setRoutineBody(routineBody);
         SQLStatementContext<CreateProcedureStatement> sqlStatementContext = 
new CommonSQLStatementContext<>(sqlStatement);
-        new 
ShardingCreateProcedureStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), 
mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS));
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
+        new 
ShardingCreateProcedureStatementValidator().preValidate(shardingRule, 
sqlStatementContext, Collections.emptyList(), database);
     }
     
     @Test(expected = TableExistsException.class)
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
index 4059bd25964..d6d5b0e577b 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/route/engine/validator/ddl/ShardingDropTableStatementValidatorTest.java
@@ -78,6 +78,7 @@ public final class ShardingDropTableStatementValidatorTest {
         sqlStatement.getTables().add(new SimpleTableSegment(new 
TableNameSegment(0, 0, new IdentifierValue("t_order_item"))));
         SQLStatementContext<DropTableStatement> sqlStatementContext = new 
CommonSQLStatementContext<>(sqlStatement);
         ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
         ShardingDropTableStatementValidator validator = new 
ShardingDropTableStatementValidator();
         validator.preValidate(shardingRule, sqlStatementContext, 
Collections.emptyList(), database);
         Collection<RouteUnit> routeUnits = new LinkedList<>();
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
index 6e6fdf0ccf5..168f2d8af4b 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/rule/ShardingRuleTest.java
@@ -549,8 +549,10 @@ public final class ShardingRuleTest {
         
when(sqlStatementContext.getSqlStatement()).thenReturn(mock(MySQLSelectStatement.class));
         when(sqlStatementContext.getDatabaseType()).thenReturn(new 
MySQLDatabaseType());
         
when(sqlStatementContext.getTablesContext().getSchemaName()).thenReturn(Optional.empty());
+        ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(database.getName()).thenReturn("db_schema");
         assertFalse(
-                
createMaximumShardingRule().isAllBindingTables(mock(ShardingSphereDatabase.class,
 RETURNS_DEEP_STUBS), sqlStatementContext, Arrays.asList("logic_Table", 
"sub_Logic_Table")));
+                createMaximumShardingRule().isAllBindingTables(database, 
sqlStatementContext, Arrays.asList("logic_Table", "sub_Logic_Table")));
     }
     
     @Test
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngine.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngine.java
index 39518b7ddc6..e1301706ecf 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngine.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngine.java
@@ -152,6 +152,6 @@ public final class DatabaseTypeEngine {
      * @return default schema name
      */
     public static String getDefaultSchemaName(final DatabaseType databaseType, 
final String databaseName) {
-        return databaseType instanceof SchemaSupportedDatabaseType ? 
((SchemaSupportedDatabaseType) databaseType).getDefaultSchema() : databaseName;
+        return databaseType instanceof SchemaSupportedDatabaseType ? 
((SchemaSupportedDatabaseType) databaseType).getDefaultSchema() : 
databaseName.toLowerCase();
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
index 3b5f22664ef..7672b737790 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
@@ -65,7 +65,7 @@ public final class ShardingSphereDatabase {
         this.protocolType = protocolType;
         this.resource = resource;
         this.ruleMetaData = ruleMetaData;
-        this.schemas = new ConcurrentHashMap<>(schemas);
+        this.schemas = new ConcurrentHashMap<>(schemas.size(), 1);
         schemas.forEach((key, value) -> this.schemas.put(key.toLowerCase(), 
value));
     }
     
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
index bab671c7e62..9519f82605d 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/database/type/DatabaseTypeEngineTest.java
@@ -148,6 +148,6 @@ public final class DatabaseTypeEngineTest {
         DatabaseType schemaSupportDatabaseType = 
DatabaseTypeFactory.getInstance("openGauss");
         
assertThat(DatabaseTypeEngine.getDefaultSchemaName(schemaSupportDatabaseType, 
""), is("public"));
         DatabaseType schemaNoSupportDatabaseType = 
DatabaseTypeFactory.getInstance("MySQL");
-        
assertThat(DatabaseTypeEngine.getDefaultSchemaName(schemaNoSupportDatabaseType, 
"MySQL"), is("MySQL"));
+        
assertThat(DatabaseTypeEngine.getDefaultSchemaName(schemaNoSupportDatabaseType, 
"MySQL"), is("mysql"));
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngineTest.java
 
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngineTest.java
index 4cabd368898..8b5fd6657ec 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngineTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-context/src/test/java/org/apache/shardingsphere/infra/context/refresher/MetaDataRefreshEngineTest.java
@@ -40,6 +40,7 @@ import static org.junit.Assert.assertThat;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 
 public final class MetaDataRefreshEngineTest {
     
@@ -63,7 +64,9 @@ public final class MetaDataRefreshEngineTest {
     private SQLStatementContext<?> mockStatementContext() {
         SQLStatementContext<MetaDataRefresherSQLStatementFixture> result = 
mock(SQLStatementContext.class);
         
when(result.getSqlStatement()).thenReturn(mock(MetaDataRefresherSQLStatementFixture.class));
-        when(result.getTablesContext()).thenReturn(mock(TablesContext.class));
+        TablesContext tableContext = mock(TablesContext.class, 
RETURNS_DEEP_STUBS);
+        
when(tableContext.getSchemaName()).thenReturn(Optional.of("db_schema"));
+        when(result.getTablesContext()).thenReturn(tableContext);
         when(result.getDatabaseType()).thenReturn(mock(DatabaseType.class));
         return result;
     }
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
index 6d995d4e5dc..b560a34593e 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/adapter/StatementAdapterTest.java
@@ -225,6 +225,7 @@ public final class StatementAdapterTest {
         ShardingSphereConnection connection = 
mock(ShardingSphereConnection.class, RETURNS_DEEP_STUBS);
         ShardingSphereRuleMetaData globalRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
         
when(connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
+        when(connection.getDatabaseName()).thenReturn("db");
         
when(globalRuleMetaData.getSingleRule(TrafficRule.class)).thenReturn(new 
TrafficRule(new DefaultTrafficRuleConfigurationBuilder().build()));
         ShardingSphereStatement result = new 
ShardingSphereStatement(connection);
         result.getRoutedStatements().addAll(Arrays.asList(statements));
@@ -239,6 +240,7 @@ public final class StatementAdapterTest {
                 
.getMetaDataContexts().getMetaData().getDatabase(DefaultDatabase.LOGIC_NAME).getRuleMetaData().getRules()).thenReturn(Collections.singletonList(rule));
         TrafficRule trafficRule = new TrafficRule(new 
DefaultTrafficRuleConfigurationBuilder().build());
         ShardingSphereRuleMetaData globalRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
+        when(connection.getDatabaseName()).thenReturn("db");
         
when(connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
         
when(globalRuleMetaData.getSingleRule(TrafficRule.class)).thenReturn(trafficRule);
         ShardingSphereStatement result = new 
ShardingSphereStatement(connection);
diff --git 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationStatementTest.java
 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationStatementTest.java
index 27ca7f627ea..eba32edf4b4 100644
--- 
a/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationStatementTest.java
+++ 
b/shardingsphere-jdbc/shardingsphere-jdbc-core/src/test/java/org/apache/shardingsphere/driver/jdbc/unsupported/UnsupportedOperationStatementTest.java
@@ -41,6 +41,7 @@ public final class UnsupportedOperationStatementTest {
         ShardingSphereConnection connection = 
mock(ShardingSphereConnection.class, RETURNS_DEEP_STUBS);
         ShardingSphereRuleMetaData globalRuleMetaData = 
mock(ShardingSphereRuleMetaData.class);
         TrafficRule trafficRule = new TrafficRule(new 
DefaultTrafficRuleConfigurationBuilder().build());
+        when(connection.getDatabaseName()).thenReturn("db");
         
when(connection.getContextManager().getMetaDataContexts().getMetaData().getGlobalRuleMetaData()).thenReturn(globalRuleMetaData);
         
when(globalRuleMetaData.getSingleRule(TrafficRule.class)).thenReturn(trafficRule);
         shardingSphereStatement = new ShardingSphereStatement(connection);
diff --git 
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
 
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
index 1aca4440c3d..4ae462564eb 100644
--- 
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
+++ 
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/route/SingleTableSQLRouterTest.java
@@ -100,6 +100,7 @@ public final class SingleTableSQLRouterTest {
     
     private ShardingSphereDatabase mockReadwriteSplittingDatabase() {
         ShardingSphereDatabase result = mock(ShardingSphereDatabase.class, 
RETURNS_DEEP_STUBS);
+        when(result.getName()).thenReturn(" db_schema");
         
when(result.getResource().getDataSources()).thenReturn(Collections.singletonMap("write_ds",
 new MockedDataSource()));
         return result;
     }

Reply via email to