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

zhonghongsheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new d15bebd6803 Refactor GenericSchemaBuilderMaterial (#28175)
d15bebd6803 is described below

commit d15bebd680362e6a26dab285f07a27ace8dcd1b0
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Aug 19 13:03:18 2023 +0800

    Refactor GenericSchemaBuilderMaterial (#28175)
---
 .../database/schema/builder/GenericSchemaBuilderMaterial.java       | 6 ++++++
 .../refresher/type/table/AlterTableStatementSchemaRefresher.java    | 4 ++--
 .../refresher/type/table/CreateTableStatementSchemaRefresher.java   | 4 ++--
 .../refresher/type/table/RenameTableStatementSchemaRefresher.java   | 4 ++--
 .../refresher/type/view/AlterViewStatementSchemaRefresher.java      | 4 ++--
 .../refresher/type/view/CreateViewStatementSchemaRefresher.java     | 4 ++--
 6 files changed, 16 insertions(+), 10 deletions(-)

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 824aceda2bd..bbb6f3ed387 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
@@ -21,6 +21,7 @@ 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.storage.StorageUnitMetaData;
 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
 
 import javax.sql.DataSource;
@@ -45,4 +46,9 @@ public final class GenericSchemaBuilderMaterial {
     private final ConfigurationProperties props;
     
     private final String defaultSchemaName;
+    
+    public GenericSchemaBuilderMaterial(final DatabaseType protocolType, final 
StorageUnitMetaData storageUnitMetaData,
+                                        final Collection<ShardingSphereRule> 
rules, final ConfigurationProperties props, final String defaultSchemaName) {
+        this(protocolType, storageUnitMetaData.getStorageTypes(), 
storageUnitMetaData.getDataSources(), rules, props, defaultSchemaName);
+    }
 }
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/AlterTableStatementSchemaRefresher.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/AlterTableStatementSchemaRefresher.java
index 828a3400604..97bdfe8fc59 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/AlterTableStatementSchemaRefresher.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/AlterTableStatementSchemaRefresher.java
@@ -65,8 +65,8 @@ public final class AlterTableStatementSchemaRefresher 
implements MetaDataRefresh
         if (TableRefreshUtils.isSingleTable(tableName, database)) {
             ruleMetaData.findRules(MutableDataNodeRule.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                database.getResourceMetaData().getStorageTypes(), 
database.getResourceMetaData().getStorageUnitMetaData().getDataSources(), 
ruleMetaData.getRules(), props, schemaName);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
+                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnitMetaData(), 
ruleMetaData.getRules(), props, schemaName);
         Map<String, ShardingSphereSchema> schemaMap = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
         return Optional.ofNullable(schemaMap.get(schemaName)).map(optional -> 
optional.getTable(tableName))
                 .orElseGet(() -> new ShardingSphereTable(tableName, 
Collections.emptyList(), Collections.emptyList(), Collections.emptyList()));
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/CreateTableStatementSchemaRefresher.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/CreateTableStatementSchemaRefresher.java
index db732e7a98b..0b49b2c319f 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/CreateTableStatementSchemaRefresher.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/CreateTableStatementSchemaRefresher.java
@@ -53,8 +53,8 @@ public final class CreateTableStatementSchemaRefresher 
implements MetaDataRefres
         if (isSingleTable) {
             ruleMetaData.findRules(MutableDataNodeRule.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                database.getResourceMetaData().getStorageTypes(), 
database.getResourceMetaData().getStorageUnitMetaData().getDataSources(), 
ruleMetaData.getRules(), props, schemaName);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
+                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnitMetaData(), 
ruleMetaData.getRules(), props, schemaName);
         Map<String, ShardingSphereSchema> schemaMap = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
         Optional<ShardingSphereTable> actualTableMetaData = 
Optional.ofNullable(schemaMap.get(schemaName)).map(optional -> 
optional.getTable(tableName));
         if (actualTableMetaData.isPresent()) {
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/RenameTableStatementSchemaRefresher.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/RenameTableStatementSchemaRefresher.java
index 62bf4aba378..3122b4ed5c2 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/RenameTableStatementSchemaRefresher.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/table/RenameTableStatementSchemaRefresher.java
@@ -63,8 +63,8 @@ public final class RenameTableStatementSchemaRefresher 
implements MetaDataRefres
         if (TableRefreshUtils.isSingleTable(tableName, database)) {
             ruleMetaData.findRules(MutableDataNodeRule.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                database.getResourceMetaData().getStorageTypes(), 
database.getResourceMetaData().getStorageUnitMetaData().getDataSources(), 
ruleMetaData.getRules(), props, schemaName);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
+                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnitMetaData(), 
ruleMetaData.getRules(), props, schemaName);
         Map<String, ShardingSphereSchema> schemaMap = 
GenericSchemaBuilder.build(Collections.singletonList(tableName), material);
         return Optional.ofNullable(schemaMap.get(schemaName)).map(optional -> 
optional.getTable(tableName))
                 .orElseGet(() -> new ShardingSphereTable(tableName, 
Collections.emptyList(), Collections.emptyList(), Collections.emptyList()));
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/AlterViewStatementSchemaRefresher.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/AlterViewStatementSchemaRefresher.java
index 84f9e3aa36b..e8d24284106 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/AlterViewStatementSchemaRefresher.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/AlterViewStatementSchemaRefresher.java
@@ -77,8 +77,8 @@ public final class AlterViewStatementSchemaRefresher 
implements MetaDataRefreshe
         if (TableRefreshUtils.isSingleTable(viewName, database)) {
             ruleMetaData.findRules(MutableDataNodeRule.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                database.getResourceMetaData().getStorageTypes(), 
database.getResourceMetaData().getStorageUnitMetaData().getDataSources(), 
ruleMetaData.getRules(), props, schemaName);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
+                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnitMetaData(), 
ruleMetaData.getRules(), props, schemaName);
         Map<String, ShardingSphereSchema> schemaMap = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), material);
         Optional<ShardingSphereTable> actualViewMetaData = 
Optional.ofNullable(schemaMap.get(schemaName)).map(optional -> 
optional.getTable(viewName));
         ShardingSphereSchema result = new ShardingSphereSchema();
diff --git 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/CreateViewStatementSchemaRefresher.java
 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/CreateViewStatementSchemaRefresher.java
index a95506639c3..aa1cb7dbab3 100644
--- 
a/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/CreateViewStatementSchemaRefresher.java
+++ 
b/infra/context/src/main/java/org/apache/shardingsphere/infra/connection/refresher/type/view/CreateViewStatementSchemaRefresher.java
@@ -53,8 +53,8 @@ public final class CreateViewStatementSchemaRefresher 
implements MetaDataRefresh
         if (TableRefreshUtils.isSingleTable(viewName, database)) {
             ruleMetaData.findRules(MutableDataNodeRule.class).forEach(each -> 
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
         }
-        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(database.getProtocolType(),
-                database.getResourceMetaData().getStorageTypes(), 
database.getResourceMetaData().getStorageUnitMetaData().getDataSources(), 
ruleMetaData.getRules(), props, schemaName);
+        GenericSchemaBuilderMaterial material = new 
GenericSchemaBuilderMaterial(
+                database.getProtocolType(), 
database.getResourceMetaData().getStorageUnitMetaData(), 
ruleMetaData.getRules(), props, schemaName);
         Map<String, ShardingSphereSchema> schemaMap = 
GenericSchemaBuilder.build(Collections.singletonList(viewName), material);
         Optional<ShardingSphereTable> actualTableMetaData = 
Optional.ofNullable(schemaMap.get(schemaName)).map(optional -> 
optional.getTable(viewName));
         if (actualTableMetaData.isPresent()) {

Reply via email to