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 2023/08/19 05:03:25 UTC
[shardingsphere] branch master updated: Refactor GenericSchemaBuilderMaterial (#28175)
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 <zh...@apache.org>
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()) {