You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2022/07/25 11:37:23 UTC
[shardingsphere] branch master updated: Revise 19479 (#19520)
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 <zh...@apache.org>
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;
}