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);
         }
     }
 

Reply via email to