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 e8b63ad fix federate meta refresh logic (#11584)
e8b63ad is described below
commit e8b63ade2270bebdc4efc0e1c2411faa7448fb91
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Fri Jul 30 16:47:56 2021 +0800
fix federate meta refresh logic (#11584)
---
.../metadata/schema/builder/TableMetaDataBuilderTest.java | 14 ++++++++++++++
.../type/AlterTableStatementFederateRefresher.java | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/TableMetaDataBuilderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/TableMetaDataBuilderTest.java
index 0d8016a..2624002 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/TableMetaDataBuilderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/TableMetaDataBuilderTest.java
@@ -60,4 +60,18 @@ public final class TableMetaDataBuilderTest {
databaseType, Collections.singletonMap("logic_db",
dataSource), Arrays.asList(new CommonFixtureRule(), new
DataNodeContainedFixtureRule()),
props)).isPresent());
}
+
+ @Test
+ public void assertLoadWithExistedTableName() throws SQLException {
+ assertTrue(TableMetaDataBuilder.load("data_node_routed_table1", new
SchemaBuilderMaterials(
+ databaseType, Collections.singletonMap("logic_db",
dataSource), Arrays.asList(new CommonFixtureRule(),
+ new DataNodeContainedFixtureRule()), props)).isPresent());
+ }
+
+ @Test
+ public void assertLoadWithNotExistedTableName() throws SQLException {
+ assertFalse(TableMetaDataBuilder.load("invalid_table", new
SchemaBuilderMaterials(
+ databaseType, Collections.singletonMap("logic_db",
dataSource), Arrays.asList(new CommonFixtureRule(), new
DataNodeContainedFixtureRule()),
+ props)).isPresent());
+ }
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
index 4474d8f..33be9f1 100644
---
a/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-optimize/src/main/java/org/apache/shardingsphere/infra/optimize/core/metadata/refresher/type/AlterTableStatementFederateRefresher.java
@@ -58,7 +58,7 @@ public final class AlterTableStatementFederateRefresher
implements FederateRefre
if (!containsInTableContainedRule(tableName, materials)) {
return loadTableMetaData(tableName, routeDataSourceNames,
materials);
} else {
- return TableMetaDataBuilder.build(tableName,
materials).orElseGet(TableMetaData::new);
+ return TableMetaDataBuilder.load(tableName,
materials).orElseGet(TableMetaData::new);
}
}