You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by pa...@apache.org on 2021/07/02 02:20:54 UTC
[shardingsphere] branch master updated: Fixed logical table
metadata loading issues. (#11086)
This is an automated email from the ASF dual-hosted git repository.
panjuan 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 9657652 Fixed logical table metadata loading issues. (#11086)
9657652 is described below
commit 965765269a07d30ba0b1e103bd38388dc010dcf2
Author: totalo <48...@qq.com>
AuthorDate: Fri Jul 2 10:20:25 2021 +0800
Fixed logical table metadata loading issues. (#11086)
* Fixed #11028.
* update code style
---
.../metadata/schema/builder/SchemaBuilder.java | 23 +++++++++-------------
.../context/metadata/MetaDataContextsBuilder.java | 4 ++--
2 files changed, 11 insertions(+), 16 deletions(-)
diff --git a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
index 4adb54c..6713c28 100644
--- a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/SchemaBuilder.java
@@ -73,21 +73,16 @@ public final class SchemaBuilder {
* @throws SQLException SQL exception
*/
public static Map<TableMetaData, TableMetaData> build(final SchemaBuilderMaterials materials) throws SQLException {
- Map<String, TableMetaData> actualTableMetaMap = appendRemainTables(materials);
- Map<String, TableMetaData> logicTableMetaMap = addRuleConfiguredTables(materials, actualTableMetaMap);
- return buildTableMetaDataMap(actualTableMetaMap, logicTableMetaMap);
- }
-
- private static Map<TableMetaData, TableMetaData> buildTableMetaDataMap(final Map<String, TableMetaData> actualMap,
- final Map<String, TableMetaData> logicMap) {
- Map<TableMetaData, TableMetaData> result = new HashMap<>(actualMap.size(), 1);
- for (Entry entry : actualMap.entrySet()) {
- result.put((TableMetaData) entry.getValue(), logicMap.get(entry.getKey()));
+ Map<String, TableMetaData> actualTableMetaMap = buildActualTableMetaDataMap(materials);
+ Map<String, TableMetaData> logicTableMetaMap = buildLogicTableMetaDataMap(materials, actualTableMetaMap);
+ Map<TableMetaData, TableMetaData> tableMetaDataMap = new HashMap<>(actualTableMetaMap.size(), 1);
+ for (Entry<String, TableMetaData> entry : actualTableMetaMap.entrySet()) {
+ tableMetaDataMap.put(entry.getValue(), logicTableMetaMap.getOrDefault(entry.getKey(), entry.getValue()));
}
- return result;
+ return tableMetaDataMap;
}
-
- private static Map<String, TableMetaData> appendRemainTables(final SchemaBuilderMaterials materials) throws SQLException {
+
+ private static Map<String, TableMetaData> buildActualTableMetaDataMap(final SchemaBuilderMaterials materials) throws SQLException {
Map<String, TableMetaData> result = new HashMap<>(materials.getRules().size(), 1);
appendRemainTables(materials, result);
for (ShardingSphereRule rule : materials.getRules()) {
@@ -111,7 +106,7 @@ public final class SchemaBuilder {
appendDefaultRemainTables(materials, tables);
}
- private static Map<String, TableMetaData> addRuleConfiguredTables(final SchemaBuilderMaterials materials, final Map<String, TableMetaData> tables) throws SQLException {
+ private static Map<String, TableMetaData> buildLogicTableMetaDataMap(final SchemaBuilderMaterials materials, final Map<String, TableMetaData> tables) throws SQLException {
Map<String, TableMetaData> result = new HashMap<>(materials.getRules().size(), 1);
for (ShardingSphereRule rule : materials.getRules()) {
if (rule instanceof TableContainedRule) {
diff --git a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
index a1c0d02..3836384 100644
--- a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
+++ b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/metadata/MetaDataContextsBuilder.java
@@ -109,8 +109,8 @@ public final class MetaDataContextsBuilder {
private ShardingSphereSchema buildSchema(final Map<TableMetaData, TableMetaData> tableMetaDatas) {
Map<String, TableMetaData> tables = new HashMap<>(tableMetaDatas.size(), 1);
- tables.putAll(tableMetaDatas.keySet().stream().filter(Objects::nonNull).collect(Collectors.toMap(TableMetaData::getName, v -> v)));
- tables.putAll(tableMetaDatas.values().stream().filter(Objects::nonNull).collect(Collectors.toMap(TableMetaData::getName, v -> v)));
+ tables.putAll(tableMetaDatas.keySet().stream().collect(Collectors.toMap(TableMetaData::getName, v -> v)));
+ tables.putAll(tableMetaDatas.values().stream().collect(Collectors.toMap(TableMetaData::getName, v -> v)));
return new ShardingSphereSchema(tables);
}