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 7eabecf0f3b Move GenericSchemaBuilderMaterial.protocolType to 
GenericSchemaBuilder (#33997)
7eabecf0f3b is described below

commit 7eabecf0f3b5c509b45df6ac2056dd0350e398cc
Author: Liang Zhang <[email protected]>
AuthorDate: Tue Dec 10 19:12:22 2024 +0800

    Move GenericSchemaBuilderMaterial.protocolType to GenericSchemaBuilder 
(#33997)
---
 .../infra/metadata/database/ShardingSphereDatabase.java  |  4 ++--
 .../database/schema/builder/GenericSchemaBuilder.java    | 16 +++++++++-------
 .../schema/builder/GenericSchemaBuilderMaterial.java     |  3 ---
 .../schema/builder/GenericSchemaBuilderTest.java         | 12 ++++++------
 .../database/schema/util/SchemaMetaDataUtilsTest.java    |  9 +++------
 .../shardingsphere/mode/manager/ContextManager.java      | 11 +++++------
 .../type/table/AlterTableStatementSchemaRefresher.java   |  5 ++---
 .../type/table/CreateTableStatementSchemaRefresher.java  |  5 ++---
 .../type/table/RenameTableStatementSchemaRefresher.java  |  5 ++---
 .../type/view/AlterViewStatementSchemaRefresher.java     |  5 ++---
 .../type/view/CreateViewStatementSchemaRefresher.java    |  5 ++---
 11 files changed, 35 insertions(+), 45 deletions(-)

diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
index ba75ae4b37f..7da9ea92999 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/ShardingSphereDatabase.java
@@ -102,8 +102,8 @@ public final class ShardingSphereDatabase {
                                                 final ConfigurationProperties 
props, final ComputeNodeInstanceContext computeNodeInstanceContext) throws 
SQLException {
         ResourceMetaData resourceMetaData = new 
ResourceMetaData(databaseConfig.getDataSources(), 
databaseConfig.getStorageUnits());
         Collection<ShardingSphereRule> databaseRules = 
DatabaseRulesBuilder.build(name, protocolType, databaseConfig, 
computeNodeInstanceContext, resourceMetaData);
-        Map<String, ShardingSphereSchema> schemas = new 
ConcurrentHashMap<>(GenericSchemaBuilder.build(new GenericSchemaBuilderMaterial(
-                protocolType, resourceMetaData.getStorageUnits(), 
databaseRules, props, new 
DatabaseTypeRegistry(protocolType).getDefaultSchemaName(name))));
+        Map<String, ShardingSphereSchema> schemas = new 
ConcurrentHashMap<>(GenericSchemaBuilder.build(protocolType,
+                new 
GenericSchemaBuilderMaterial(resourceMetaData.getStorageUnits(), databaseRules, 
props, new DatabaseTypeRegistry(protocolType).getDefaultSchemaName(name))));
         SystemSchemaBuilder.build(name, protocolType, 
props).forEach(schemas::putIfAbsent);
         return new ShardingSphereDatabase(name, protocolType, 
resourceMetaData, new RuleMetaData(databaseRules), schemas.values());
     }
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
index cc5751aa89c..4d8fb929da5 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
@@ -61,26 +61,28 @@ public final class GenericSchemaBuilder {
     /**
      * Build generic schema.
      *
+     * @param protocolType database type
      * @param material generic schema builder material
      * @return generic schema map
      * @throws SQLException SQL exception
      */
-    public static Map<String, ShardingSphereSchema> build(final 
GenericSchemaBuilderMaterial material) throws SQLException {
-        return build(getAllTableNames(material.getRules()), material);
+    public static Map<String, ShardingSphereSchema> build(final DatabaseType 
protocolType, final GenericSchemaBuilderMaterial material) throws SQLException {
+        return build(getAllTableNames(material.getRules()), protocolType, 
material);
     }
     
     /**
      * Build generic schema.
      *
      * @param tableNames table names
+     * @param protocolType database type
      * @param material generic schema builder material
      * @return generic schema map
      * @throws SQLException SQL exception
      */
-    public static Map<String, ShardingSphereSchema> build(final 
Collection<String> tableNames, final GenericSchemaBuilderMaterial material) 
throws SQLException {
+    public static Map<String, ShardingSphereSchema> build(final 
Collection<String> tableNames, final DatabaseType protocolType, final 
GenericSchemaBuilderMaterial material) throws SQLException {
         Map<String, SchemaMetaData> result = loadSchemas(tableNames, material);
-        if (!isSameProtocolAndStorageTypes(material.getProtocolType(), 
material.getStorageUnits())) {
-            result = translate(result, material);
+        if (!isSameProtocolAndStorageTypes(protocolType, 
material.getStorageUnits())) {
+            result = translate(result, protocolType, material);
         }
         return revise(result, material);
     }
@@ -103,13 +105,13 @@ public final class GenericSchemaBuilder {
         return 
storageUnits.values().stream().map(StorageUnit::getStorageType).allMatch(protocolType::equals);
     }
     
-    private static Map<String, SchemaMetaData> translate(final Map<String, 
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterial material) 
{
+    private static Map<String, SchemaMetaData> translate(final Map<String, 
SchemaMetaData> schemaMetaDataMap, final DatabaseType protocolType, final 
GenericSchemaBuilderMaterial material) {
         Collection<TableMetaData> tableMetaDataList = new LinkedList<>();
         for (StorageUnit each : material.getStorageUnits().values()) {
             String defaultSchemaName = new 
DatabaseTypeRegistry(each.getStorageType()).getDefaultSchemaName(material.getDefaultSchemaName());
             
tableMetaDataList.addAll(Optional.ofNullable(schemaMetaDataMap.get(defaultSchemaName)).map(SchemaMetaData::getTables).orElseGet(Collections::emptyList));
         }
-        String frontendSchemaName = new 
DatabaseTypeRegistry(material.getProtocolType()).getDefaultSchemaName(material.getDefaultSchemaName());
+        String frontendSchemaName = new 
DatabaseTypeRegistry(protocolType).getDefaultSchemaName(material.getDefaultSchemaName());
         Map<String, SchemaMetaData> result = new LinkedHashMap<>();
         result.put(frontendSchemaName, new SchemaMetaData(frontendSchemaName, 
tableMetaDataList));
         return result;
diff --git 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterial.java
 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterial.java
index f77db09a9c3..5cd5fa49191 100644
--- 
a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterial.java
+++ 
b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterial.java
@@ -20,7 +20,6 @@ package 
org.apache.shardingsphere.infra.metadata.database.schema.builder;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
-import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
 import 
org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 
@@ -34,8 +33,6 @@ import java.util.Map;
 @Getter
 public final class GenericSchemaBuilderMaterial {
     
-    private final DatabaseType protocolType;
-    
     private final Map<String, StorageUnit> storageUnits;
     
     private final Collection<ShardingSphereRule> rules;
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderTest.java
index b09e2640086..bac7fc8b37b 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderTest.java
@@ -58,39 +58,39 @@ import static org.mockito.Mockito.when;
 @StaticMockSettings(MetaDataLoader.class)
 class GenericSchemaBuilderTest {
     
+    private final DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
+    
     private GenericSchemaBuilderMaterial material;
     
     @BeforeEach
     void setUp() {
-        DatabaseType databaseType = 
TypedSPILoader.getService(DatabaseType.class, "FIXTURE");
         ShardingSphereRule rule = mock(ShardingSphereRule.class);
         when(rule.getAttributes()).thenReturn(new 
RuleAttributes(mock(TableMapperRuleAttribute.class)));
         StorageUnit storageUnit = mock(StorageUnit.class);
         when(storageUnit.getStorageType()).thenReturn(databaseType);
         when(storageUnit.getDataSource()).thenReturn(new MockedDataSource());
-        material = new GenericSchemaBuilderMaterial(
-                databaseType, Collections.singletonMap("foo_schema", 
storageUnit), Collections.singleton(rule), new ConfigurationProperties(new 
Properties()), "foo_schema");
+        material = new 
GenericSchemaBuilderMaterial(Collections.singletonMap("foo_schema", 
storageUnit), Collections.singleton(rule), new ConfigurationProperties(new 
Properties()), "foo_schema");
     }
     
     @Test
     void assertLoadWithExistedTableName() throws SQLException {
         Collection<String> tableNames = 
Collections.singletonList("data_node_routed_table1");
         
when(MetaDataLoader.load(any())).thenReturn(createSchemaMetaDataMap(tableNames, 
material));
-        assertFalse(GenericSchemaBuilder.build(tableNames, 
material).get("foo_schema").getAllTables().isEmpty());
+        assertFalse(GenericSchemaBuilder.build(tableNames, databaseType, 
material).get("foo_schema").getAllTables().isEmpty());
     }
     
     @Test
     void assertLoadWithNotExistedTableName() throws SQLException {
         Collection<String> tableNames = 
Collections.singletonList("invalid_table");
         
when(MetaDataLoader.load(any())).thenReturn(createSchemaMetaDataMap(tableNames, 
material));
-        assertTrue(GenericSchemaBuilder.build(tableNames, 
material).get("foo_schema").getAllTables().isEmpty());
+        assertTrue(GenericSchemaBuilder.build(tableNames, databaseType, 
material).get("foo_schema").getAllTables().isEmpty());
     }
     
     @Test
     void assertLoadAllTables() throws SQLException {
         Collection<String> tableNames = 
Arrays.asList("data_node_routed_table1", "data_node_routed_table2");
         
when(MetaDataLoader.load(any())).thenReturn(createSchemaMetaDataMap(tableNames, 
material));
-        Map<String, ShardingSphereSchema> actual = 
GenericSchemaBuilder.build(tableNames, material);
+        Map<String, ShardingSphereSchema> actual = 
GenericSchemaBuilder.build(tableNames, databaseType, material);
         assertThat(actual.size(), is(1));
         assertTables(new ShardingSphereSchema("foo_schema", 
actual.values().iterator().next().getAllTables(), Collections.emptyList()));
     }
diff --git 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtilsTest.java
 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtilsTest.java
index 60877a908a5..63f64317c5a 100644
--- 
a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtilsTest.java
+++ 
b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/SchemaMetaDataUtilsTest.java
@@ -53,8 +53,7 @@ class SchemaMetaDataUtilsTest {
         when(rule0.getAttributes()).thenReturn(new 
RuleAttributes(ruleAttribute));
         ShardingSphereRule rule1 = mock(ShardingSphereRule.class);
         when(rule1.getAttributes()).thenReturn(new RuleAttributes());
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                mock(DatabaseType.class), mockStorageUnits(), 
Arrays.asList(rule0, rule1), mock(ConfigurationProperties.class), 
"sharding_db");
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(mockStorageUnits(), Arrays.asList(rule0, rule1), 
mock(ConfigurationProperties.class), "sharding_db");
         Collection<MetaDataLoaderMaterial> actual = 
SchemaMetaDataUtils.getMetaDataLoaderMaterials(Collections.singleton("t_order"),
 material, true);
         assertThat(actual.size(), is(2));
         Iterator<MetaDataLoaderMaterial> iterator = actual.iterator();
@@ -74,8 +73,7 @@ class SchemaMetaDataUtilsTest {
         when(rule0.getAttributes()).thenReturn(new 
RuleAttributes(ruleAttribute));
         ShardingSphereRule rule1 = mock(ShardingSphereRule.class);
         when(rule1.getAttributes()).thenReturn(new RuleAttributes());
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                mock(DatabaseType.class), mockStorageUnits(), 
Arrays.asList(rule0, rule1), mock(ConfigurationProperties.class), 
"sharding_db");
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(mockStorageUnits(), Arrays.asList(rule0, rule1), 
mock(ConfigurationProperties.class), "sharding_db");
         Collection<MetaDataLoaderMaterial> actual = 
SchemaMetaDataUtils.getMetaDataLoaderMaterials(Collections.singleton("t_order"),
 material, false);
         assertThat(actual.size(), is(1));
         Iterator<MetaDataLoaderMaterial> iterator = actual.iterator();
@@ -92,8 +90,7 @@ class SchemaMetaDataUtilsTest {
         when(rule0.getAttributes()).thenReturn(new 
RuleAttributes(ruleAttribute));
         ShardingSphereRule rule1 = mock(ShardingSphereRule.class);
         when(rule1.getAttributes()).thenReturn(new RuleAttributes());
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                mock(DatabaseType.class), mockStorageUnits(), 
Arrays.asList(rule0, rule1), mock(ConfigurationProperties.class), "public");
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(mockStorageUnits(), Arrays.asList(rule0, rule1), 
mock(ConfigurationProperties.class), "public");
         Collection<MetaDataLoaderMaterial> actual = 
SchemaMetaDataUtils.getMetaDataLoaderMaterials(Collections.singleton("t_single"),
 material, false);
         assertThat(actual.size(), is(1));
         Iterator<MetaDataLoaderMaterial> iterator = actual.iterator();
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index dcd0c996fe7..5afaf40b625 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -141,10 +141,9 @@ public final class ContextManager implements AutoCloseable 
{
     
     private ShardingSphereSchema loadSchema(final ShardingSphereDatabase 
database, final String schemaName, final String dataSourceName) throws 
SQLException {
         database.reloadRules();
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                Collections.singletonMap(dataSourceName, 
database.getResourceMetaData().getStorageUnits().get(dataSourceName)),
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(Collections.singletonMap(dataSourceName, 
database.getResourceMetaData().getStorageUnits().get(dataSourceName)),
                 database.getRuleMetaData().getRules(), 
metaDataContexts.get().getMetaData().getProps(), schemaName);
-        ShardingSphereSchema result = 
GenericSchemaBuilder.build(material).get(schemaName);
+        ShardingSphereSchema result = 
GenericSchemaBuilder.build(database.getProtocolType(), 
material).get(schemaName);
         
persistServiceFacade.getMetaDataPersistService().getDatabaseMetaDataFacade().getView().load(database.getName(),
 schemaName).forEach(result::putView);
         return result;
     }
@@ -157,7 +156,7 @@ public final class ContextManager implements AutoCloseable {
      * @param tableName to be reloaded table name
      */
     public void reloadTable(final ShardingSphereDatabase database, final 
String schemaName, final String tableName) {
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
                 database.getResourceMetaData().getStorageUnits(), 
database.getRuleMetaData().getRules(), 
metaDataContexts.get().getMetaData().getProps(), schemaName);
         try {
             persistTable(database, schemaName, tableName, material);
@@ -176,7 +175,7 @@ public final class ContextManager implements AutoCloseable {
      */
     public void reloadTable(final ShardingSphereDatabase database, final 
String schemaName, final String dataSourceName, final String tableName) {
         StorageUnit storageUnit = 
database.getResourceMetaData().getStorageUnits().get(dataSourceName);
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
                 Collections.singletonMap(dataSourceName, storageUnit), 
database.getRuleMetaData().getRules(), 
metaDataContexts.get().getMetaData().getProps(), schemaName);
         try {
             persistTable(database, schemaName, tableName, material);
@@ -186,7 +185,7 @@ public final class ContextManager implements AutoCloseable {
     }
     
     private void persistTable(final ShardingSphereDatabase database, final 
String schemaName, final String tableName, final GenericSchemaBuilderMaterial 
material) throws SQLException {
-        ShardingSphereSchema schema = 
GenericSchemaBuilder.build(Collections.singleton(tableName), 
material).getOrDefault(schemaName, new ShardingSphereSchema(schemaName));
+        ShardingSphereSchema schema = 
GenericSchemaBuilder.build(Collections.singleton(tableName), 
database.getProtocolType(), material).getOrDefault(schemaName, new 
ShardingSphereSchema(schemaName));
         
persistServiceFacade.getMetaDataPersistService().getDatabaseMetaDataFacade().getTable().persist(database.getName(),
 schemaName, Collections.singleton(schema.getTable(tableName)));
     }
     
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
index 299669ad48b..d296cd3c67e 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/AlterTableStatementSchemaRefresher.java
@@ -65,9 +65,8 @@ public final class AlterTableStatementSchemaRefresher 
implements MetaDataRefresh
         if (TableRefreshUtils.isSingleTable(tableName, database)) {
             
ruleMetaData.getAttributes(MutableDataNodeRuleAttribute.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnits(), ruleMetaData.getRules(), 
props, schemaName);
-        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(), 
ruleMetaData.getRules(), props, schemaName);
+        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), 
database.getProtocolType(), material);
         return Optional.ofNullable(schemas.get(schemaName)).map(optional -> 
optional.getTable(tableName))
                 .orElseGet(() -> new ShardingSphereTable(tableName, 
Collections.emptyList(), Collections.emptyList(), Collections.emptyList()));
     }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
index d2f1201619e..2cf7f2d14c3 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/CreateTableStatementSchemaRefresher.java
@@ -53,9 +53,8 @@ public final class CreateTableStatementSchemaRefresher 
implements MetaDataRefres
         if (isSingleTable) {
             
ruleMetaData.getAttributes(MutableDataNodeRuleAttribute.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnits(), ruleMetaData.getRules(), 
props, schemaName);
-        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(), 
ruleMetaData.getRules(), props, schemaName);
+        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), 
database.getProtocolType(), material);
         Optional<ShardingSphereTable> actualTableMetaData = 
Optional.ofNullable(schemas.get(schemaName)).map(optional -> 
optional.getTable(tableName));
         Preconditions.checkState(actualTableMetaData.isPresent(), "Load actual 
table metadata '%s' failed.", tableName);
         metaDataManagerPersistService.createTable(database.getName(), 
schemaName, actualTableMetaData.get(), logicDataSourceNames.isEmpty() ? null : 
logicDataSourceNames.iterator().next());
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
index 9a9edd9d996..435143a41f2 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/table/RenameTableStatementSchemaRefresher.java
@@ -63,9 +63,8 @@ public final class RenameTableStatementSchemaRefresher 
implements MetaDataRefres
         if (TableRefreshUtils.isSingleTable(tableName, database) && 
!logicDataSourceNames.isEmpty()) {
             
ruleMetaData.getAttributes(MutableDataNodeRuleAttribute.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnits(), ruleMetaData.getRules(), 
props, schemaName);
-        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(), 
ruleMetaData.getRules(), props, schemaName);
+        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), 
database.getProtocolType(), material);
         return Optional.ofNullable(schemas.get(schemaName)).map(optional -> 
optional.getTable(tableName))
                 .orElseGet(() -> new ShardingSphereTable(tableName, 
Collections.emptyList(), Collections.emptyList(), Collections.emptyList()));
     }
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
index cfb2afae1b2..b1ffa59cedd 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/AlterViewStatementSchemaRefresher.java
@@ -76,9 +76,8 @@ public final class AlterViewStatementSchemaRefresher 
implements MetaDataRefreshe
         if (TableRefreshUtils.isSingleTable(viewName, database)) {
             
ruleMetaData.getAttributes(MutableDataNodeRuleAttribute.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnits(), ruleMetaData.getRules(), 
props, schemaName);
-        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), material);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(), 
ruleMetaData.getRules(), props, schemaName);
+        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), 
database.getProtocolType(), material);
         Optional<ShardingSphereTable> actualViewMetaData = 
Optional.ofNullable(schemas.get(schemaName)).map(optional -> 
optional.getTable(viewName));
         ShardingSphereSchema result = new ShardingSphereSchema(schemaName);
         actualViewMetaData.ifPresent(result::putTable);
diff --git 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
index 7a1e8992532..371cfc2daab 100644
--- 
a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
+++ 
b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/type/view/CreateViewStatementSchemaRefresher.java
@@ -54,9 +54,8 @@ public final class CreateViewStatementSchemaRefresher 
implements MetaDataRefresh
         if (TableRefreshUtils.isSingleTable(viewName, database)) {
             
ruleMetaData.getAttributes(MutableDataNodeRuleAttribute.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
-                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnits(), ruleMetaData.getRules(), 
props, schemaName);
-        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), material);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getResourceMetaData().getStorageUnits(), 
ruleMetaData.getRules(), props, schemaName);
+        Map<String, ShardingSphereSchema> schemas = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), 
database.getProtocolType(), material);
         Optional<ShardingSphereTable> actualTableMetaData = 
Optional.ofNullable(schemas.get(schemaName)).map(optional -> 
optional.getTable(viewName));
         Preconditions.checkState(actualTableMetaData.isPresent(), "Load actual 
view metadata '%s' failed.", viewName);
         AlterSchemaMetaDataPOJO alterSchemaMetaDataPOJO = new 
AlterSchemaMetaDataPOJO(database.getName(), schemaName, logicDataSourceNames);

Reply via email to