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 bf2d576  Refactor change unconfiguredSchemaMetaDataMap type to 
Map<String, Collection<String>> (#7559)
bf2d576 is described below

commit bf2d57647ad340263829d3ef18e0643cdfe61057
Author: xbkaishui <[email protected]>
AuthorDate: Wed Sep 23 12:07:13 2020 +0800

    Refactor change unconfiguredSchemaMetaDataMap type to Map<String, 
Collection<String>> (#7559)
    
    * Refactor RuleSchemaMetaData.unconfiguredSchemaMetaDataMap to 
Map<String,Collection<String>>,  due to unconfigured table only need table name
    
    * fix checkstyle
    
    * fix checkstyle issue
    
    * fix test
---
 .../engine/type/ShardingRouteEngineFactory.java    |  3 +--
 .../ShardingUnconfiguredTablesRoutingEngine.java   | 14 ++++-------
 .../engine/type/standard/AbstractSQLRouteTest.java |  7 +++---
 ...hardingUnconfiguredTablesRoutingEngineTest.java | 11 +++------
 .../swapper/RuleSchemaMetaDataYamlSwapper.java     | 18 +++++++++++----
 .../swapper/RuleSchemaMetaDataYamlSwapperTest.java |  7 ++----
 .../governance/core/config/ConfigCenterTest.java   |  4 +---
 ...reateTableStatementMetaDataRefreshStrategy.java | 16 ++++++-------
 .../infra/metadata/schema/RuleSchemaMetaData.java  |  9 ++++----
 .../metadata/schema/RuleSchemaMetaDataLoader.java  | 12 +++++-----
 .../AbstractMetaDataRefreshStrategyTest.java       |  6 +++--
 ...eTableStatementMetaDataRefreshStrategyTest.java |  2 +-
 .../schema/RuleSchemaMetaDataLoaderTest.java       |  4 ++--
 .../metadata/schema/RuleSchemaMetaDataTest.java    |  4 +++-
 .../sql/context/ExecutionContextBuilderTest.java   |  6 ++---
 .../dbtest/engine/dql/BaseDQLIT.java               |  1 +
 .../metadata/schema/SchemaMetaDataLoader.java      | 27 ++++------------------
 .../binder/metadata/table/TableMetaData.java       |  4 ++++
 .../binder/metadata/table/TableMetaDataLoader.java |  3 +--
 .../metadata/schema/SchemaMetaDataLoaderTest.java  |  8 +++----
 20 files changed, 73 insertions(+), 93 deletions(-)

diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
index 240ef55..a1d5708 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/ShardingRouteEngineFactory.java
@@ -32,7 +32,6 @@ import 
org.apache.shardingsphere.sharding.route.engine.type.standard.ShardingSta
 import 
org.apache.shardingsphere.sharding.route.engine.type.unconfigured.ShardingUnconfiguredTablesRoutingEngine;
 import 
org.apache.shardingsphere.sharding.route.engine.type.unicast.ShardingUnicastRoutingEngine;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
 import 
org.apache.shardingsphere.sql.parser.binder.statement.SQLStatementContext;
 import org.apache.shardingsphere.sql.parser.binder.type.TableAvailable;
 import org.apache.shardingsphere.sql.parser.sql.common.statement.SQLStatement;
@@ -95,7 +94,7 @@ public final class ShardingRouteEngineFactory {
     }
     
     private static ShardingRouteEngine getDALRoutingEngine(final ShardingRule 
shardingRule, 
-                                                           final Map<String, 
SchemaMetaData> unconfiguredSchemaMetaDataMap, final SQLStatement sqlStatement, 
final Collection<String> tableNames) {
+                                                           final Map<String, 
Collection<String>> unconfiguredSchemaMetaDataMap, final SQLStatement 
sqlStatement, final Collection<String> tableNames) {
         if (sqlStatement instanceof MySQLUseStatement) {
             return new ShardingIgnoreRoutingEngine();
         }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngine.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngine.java
index 381d7c6..cd955f5 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngine.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/main/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngine.java
@@ -20,18 +20,17 @@ package 
org.apache.shardingsphere.sharding.route.engine.type.unconfigured;
 import lombok.RequiredArgsConstructor;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
 import 
org.apache.shardingsphere.sharding.route.engine.type.ShardingRouteEngine;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
 import org.apache.shardingsphere.infra.exception.ShardingSphereException;
 import org.apache.shardingsphere.infra.route.context.RouteMapper;
 import org.apache.shardingsphere.infra.route.context.RouteResult;
 import org.apache.shardingsphere.infra.route.context.RouteUnit;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 /**
  * Sharding unconfigured tables engine.
@@ -41,7 +40,7 @@ public final class ShardingUnconfiguredTablesRoutingEngine 
implements ShardingRo
     
     private final Collection<String> logicTables;
     
-    private final Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap;
+    private final Map<String, Collection<String>> 
unconfiguredSchemaMetaDataMap;
     
     @Override
     public RouteResult route(final ShardingRule shardingRule) {
@@ -50,17 +49,14 @@ public final class ShardingUnconfiguredTablesRoutingEngine 
implements ShardingRo
             throw new ShardingSphereException("Can not route tables for `%s`, 
please make sure the tables are in same schema.", logicTables);
         }
         RouteResult result = new RouteResult();
-        List<RouteMapper> routingTables = new ArrayList<>(logicTables.size());
-        for (String each : logicTables) {
-            routingTables.add(new RouteMapper(each, each));
-        }
+        List<RouteMapper> routingTables = logicTables.stream().map(table -> 
new RouteMapper(table, table)).collect(Collectors.toList());
         result.getRouteUnits().add(new RouteUnit(new 
RouteMapper(dataSourceName.get(), dataSourceName.get()), routingTables));
         return result;
     }
     
     private Optional<String> findDataSourceName() {
-        for (Entry<String, SchemaMetaData> entry : 
unconfiguredSchemaMetaDataMap.entrySet()) {
-            if (entry.getValue().getAllTableNames().containsAll(logicTables)) {
+        for (Entry<String, Collection<String>> entry : 
unconfiguredSchemaMetaDataMap.entrySet()) {
+            if (entry.getValue().containsAll(logicTables)) {
                 return Optional.of(entry.getKey());
             }
         }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
index 299968f..2241662 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/standard/AbstractSQLRouteTest.java
@@ -36,6 +36,7 @@ import 
org.apache.shardingsphere.infra.route.context.RouteContext;
 
 import java.sql.Types;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
@@ -81,10 +82,8 @@ public abstract class AbstractSQLRouteTest extends 
AbstractRoutingEngineTest {
                 new ColumnMetaData("status", Types.VARCHAR, "varchar", false, 
false, false),
                 new ColumnMetaData("c_date", Types.TIMESTAMP, "timestamp", 
false, false, false)), Collections.emptySet()));
         tableMetaDataMap.put("t_other", new 
TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 
Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
-        Map<String, TableMetaData> unconfiguredTableMetaDataMap = new 
HashMap<>(1, 1);
-        unconfiguredTableMetaDataMap.put("t_category", new 
TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 
Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
-        Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
-        unconfiguredSchemaMetaDataMap.put("ds_0", new 
SchemaMetaData(unconfiguredTableMetaDataMap));
+        Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
+        unconfiguredSchemaMetaDataMap.put("ds_0", Arrays.asList("t_category"));
         return new RuleSchemaMetaData(new SchemaMetaData(tableMetaDataMap), 
unconfiguredSchemaMetaDataMap);
     }
 }
diff --git 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngineTest.java
 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngineTest.java
index 26edb9a..398f1be 100644
--- 
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngineTest.java
+++ 
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-route/src/test/java/org/apache/shardingsphere/sharding/route/engine/type/unconfigured/ShardingUnconfiguredTablesRoutingEngineTest.java
@@ -19,8 +19,6 @@ package 
org.apache.shardingsphere.sharding.route.engine.type.unconfigured;
 
 import org.apache.shardingsphere.sharding.api.config.ShardingRuleConfiguration;
 import org.apache.shardingsphere.sharding.rule.ShardingRule;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 import org.apache.shardingsphere.infra.route.context.RouteMapper;
 import org.apache.shardingsphere.infra.route.context.RouteResult;
 import org.apache.shardingsphere.infra.route.context.RouteUnit;
@@ -29,7 +27,7 @@ import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
@@ -45,11 +43,8 @@ public final class 
ShardingUnconfiguredTablesRoutingEngineTest {
     
     @Before
     public void setUp() {
-        Map<String, TableMetaData> tableMetaDataMap = new HashMap<>(2, 1);
-        tableMetaDataMap.put("t_order", new 
TableMetaData(Collections.emptyList(), Collections.emptyList()));
-        tableMetaDataMap.put("t_order_item", new 
TableMetaData(Collections.emptyList(), Collections.emptyList()));
-        Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
-        unconfiguredSchemaMetaDataMap.put("ds_0", new 
SchemaMetaData(tableMetaDataMap));
+        Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
+        unconfiguredSchemaMetaDataMap.put("ds_0", Arrays.asList("t_order", 
"t_order_item"));
         shardingDefaultDatabaseRoutingEngine = new 
ShardingUnconfiguredTablesRoutingEngine(Arrays.asList("t_order", 
"t_order_item"), unconfiguredSchemaMetaDataMap);
     }
     
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapper.java
 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapper.java
index b79d6bf..619ce75 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapper.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/main/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapper.java
@@ -47,22 +47,26 @@ public final class RuleSchemaMetaDataYamlSwapper implements 
YamlSwapper<YamlRule
         YamlRuleSchemaMetaData result = new YamlRuleSchemaMetaData();
         
result.setConfiguredSchemaMetaData(convertYamlSchema(metaData.getConfiguredSchemaMetaData()));
         Map<String, YamlSchemaMetaData> unconfigured = 
metaData.getUnconfiguredSchemaMetaDataMap().entrySet().stream()
-                .collect(Collectors.toMap(Entry::getKey, entry -> 
convertYamlSchema(entry.getValue())));
+                .collect(Collectors.toMap(Entry::getKey, entry -> 
convertUnconfiguredYamlSchema(entry.getValue())));
         result.setUnconfiguredSchemaMetaDataMap(unconfigured);
         return result;
     }
-
+    
     @Override
     public RuleSchemaMetaData swapToObject(final YamlRuleSchemaMetaData 
yamlConfig) {
         SchemaMetaData configured = 
Optional.ofNullable(yamlConfig.getConfiguredSchemaMetaData()).map(this::convertSchema).orElse(new
 SchemaMetaData());
-        Map<String, SchemaMetaData> unconfigured = 
Optional.ofNullable(yamlConfig.getUnconfiguredSchemaMetaDataMap()).map(e -> 
e.entrySet().stream()
-                .collect(Collectors.toMap(Entry::getKey, entry -> 
convertSchema(entry.getValue())))).orElse(new HashMap<>());
+        Map<String, Collection<String>> unconfigured = 
Optional.ofNullable(yamlConfig.getUnconfiguredSchemaMetaDataMap()).map(e -> 
e.entrySet().stream()
+                .collect(Collectors.toMap(Entry::getKey, entry -> 
convertUnconfiguredSchema(entry.getValue())))).orElse(new HashMap<>());
         return new RuleSchemaMetaData(configured, unconfigured);
     }
 
     private SchemaMetaData convertSchema(final YamlSchemaMetaData schema) {
         return new 
SchemaMetaData(schema.getTables().entrySet().stream().collect(Collectors.toMap(Entry::getKey,
 entry -> convertTable(entry.getValue()))));
     }
+    
+    private Collection<String> convertUnconfiguredSchema(final 
YamlSchemaMetaData schema) {
+        return 
schema.getTables().keySet().stream().collect(Collectors.toList());
+    }
 
     private TableMetaData convertTable(final YamlTableMetaData table) {
         return new TableMetaData(convertColumns(table.getColumns()), 
convertIndexes(table.getIndexes()));
@@ -90,6 +94,12 @@ public final class RuleSchemaMetaDataYamlSwapper implements 
YamlSwapper<YamlRule
         result.setTables(tables);
         return result;
     }
+    
+    private YamlSchemaMetaData convertUnconfiguredYamlSchema(final 
Collection<String> tableNames) {
+        SchemaMetaData schemaMetaData = new SchemaMetaData();
+        tableNames.forEach(table -> schemaMetaData.put(table, new 
TableMetaData()));
+        return convertYamlSchema(schemaMetaData);
+    }
 
     private YamlTableMetaData convertYamlTable(final TableMetaData table) {
         YamlTableMetaData result = new YamlTableMetaData();
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapperTest.java
 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapperTest.java
index ba8b578..4137f29 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapperTest.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-common/src/test/java/org/apache/shardingsphere/governance/core/yaml/swapper/RuleSchemaMetaDataYamlSwapperTest.java
@@ -25,6 +25,7 @@ import org.junit.Test;
 
 import java.nio.file.Files;
 import java.nio.file.Paths;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.stream.Collectors;
 
@@ -48,8 +49,6 @@ public final class RuleSchemaMetaDataYamlSwapperTest {
         
assertThat(yamlRuleSchemaMetaData.getConfiguredSchemaMetaData().getTables().get("t_order").getColumns().keySet(),
 is(Collections.singleton("id")));
         
assertThat(yamlRuleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().keySet(), 
is(Collections.singleton("ds_0")));
         
assertThat(yamlRuleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").getTables().keySet(),
 is(Collections.singleton("t_user")));
-        
assertThat(yamlRuleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").getTables().get("t_user").getIndexes().keySet(),
 is(Collections.singleton("primary")));
-        
assertThat(yamlRuleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").getTables().get("t_user").getColumns().keySet(),
 is(Collections.singleton("id")));
     }
     
     @Test
@@ -64,9 +63,7 @@ public final class RuleSchemaMetaDataYamlSwapperTest {
         
assertThat(ruleSchemaMetaData.getConfiguredSchemaMetaData().getAllColumnNames("t_order").size(),
 is(1));
         
assertThat(ruleSchemaMetaData.getConfiguredSchemaMetaData().get("t_order").getColumns().keySet(),
 is(Collections.singleton("id")));
         
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().keySet(), 
is(Collections.singleton("ds_0")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").getAllTableNames(),
 is(Collections.singleton("t_user")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").get("t_user").getIndexes().keySet(),
 is(Collections.singleton("primary")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").get("t_user").getColumns().keySet(),
 is(Collections.singleton("id")));
+        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0"), 
is(Arrays.asList("t_user")));
     }
     
     @SneakyThrows
diff --git 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
index 3ff7216..2334469 100644
--- 
a/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
+++ 
b/shardingsphere-governance/shardingsphere-governance-core/shardingsphere-governance-core-config/src/test/java/org/apache/shardingsphere/governance/core/config/ConfigCenterTest.java
@@ -522,9 +522,7 @@ public final class ConfigCenterTest {
         
assertThat(ruleSchemaMetaData.getConfiguredSchemaMetaData().getAllColumnNames("t_order").size(),
 is(1));
         
assertThat(ruleSchemaMetaData.getConfiguredSchemaMetaData().get("t_order").getColumns().keySet(),
 is(Collections.singleton("id")));
         
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().keySet(), 
is(Collections.singleton("ds_0")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").getAllTableNames(),
 is(Collections.singleton("t_user")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").get("t_user").getIndexes().keySet(),
 is(Collections.singleton("primary")));
-        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0").get("t_user").getColumns().keySet(),
 is(Collections.singleton("id")));
+        
assertThat(ruleSchemaMetaData.getUnconfiguredSchemaMetaDataMap().get("ds_0"), 
is(Arrays.asList("t_user")));
     }
     
     @Test
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
index 5bf00be..14a24c8 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/refresh/impl/CreateTableStatementMetaDataRefreshStrategy.java
@@ -17,18 +17,18 @@
 
 package org.apache.shardingsphere.infra.metadata.refresh.impl;
 
+import com.google.common.collect.Lists;
 import org.apache.shardingsphere.infra.database.type.DatabaseType;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import 
org.apache.shardingsphere.infra.metadata.refresh.MetaDataRefreshStrategy;
 import 
org.apache.shardingsphere.infra.metadata.refresh.TableMetaDataLoaderCallback;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
 import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaDataLoader;
 import 
org.apache.shardingsphere.sql.parser.binder.statement.ddl.CreateTableStatementContext;
 
 import javax.sql.DataSource;
 import java.sql.SQLException;
-import java.util.HashMap;
+import java.util.Collection;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Optional;
@@ -55,20 +55,18 @@ public final class 
CreateTableStatementMetaDataRefreshStrategy implements MetaDa
         for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
             Optional<TableMetaData> tableMetaData = 
TableMetaDataLoader.loadWithoutColumnMetaData(entry.getValue(), tableName, 
databaseType.getName());
             if (tableMetaData.isPresent()) {
-                refreshUnconfiguredMetaData(metaData, tableName, 
entry.getKey(), tableMetaData.get());
+                refreshUnconfiguredMetaData(metaData, tableName, 
entry.getKey());
                 return;
             }
         }
     }
     
-    private void refreshUnconfiguredMetaData(final ShardingSphereMetaData 
metaData, final String tableName, final String dataSourceName, final 
TableMetaData tableMetaData) {
-        SchemaMetaData schemaMetaData = 
metaData.getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().get(dataSourceName);
+    private void refreshUnconfiguredMetaData(final ShardingSphereMetaData 
metaData, final String tableName, final String dataSourceName) {
+        Collection<String> schemaMetaData = 
metaData.getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().get(dataSourceName);
         if (null == schemaMetaData) {
-            Map<String, TableMetaData> tables = new HashMap<>(1, 1);
-            tables.put(tableName, tableMetaData);
-            
metaData.getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().put(dataSourceName,
 new SchemaMetaData(tables));
+            
metaData.getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().put(dataSourceName,
 Lists.newArrayList(tableName));
         } else {
-            schemaMetaData.put(tableName, tableMetaData);
+            schemaMetaData.add(tableName);
         }
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaData.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaData.java
index 00c2f68..bc65bb6 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaData.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaData.java
@@ -20,6 +20,7 @@ package org.apache.shardingsphere.infra.metadata.schema;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
+import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 
 import java.util.Collection;
 import java.util.LinkedList;
@@ -34,7 +35,7 @@ public final class RuleSchemaMetaData {
     
     private final SchemaMetaData configuredSchemaMetaData;
     
-    private final Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap;
+    private final Map<String, Collection<String>> 
unconfiguredSchemaMetaDataMap;
     
     /**
      * Get schema meta data.
@@ -43,7 +44,7 @@ public final class RuleSchemaMetaData {
      */
     public SchemaMetaData getSchemaMetaData() {
         SchemaMetaData result = new SchemaMetaData();
-        unconfiguredSchemaMetaDataMap.values().forEach(result::merge);
+        unconfiguredSchemaMetaDataMap.values().stream().flatMap(tableNames -> 
tableNames.stream()).forEach(tableName -> result.put(tableName, new 
TableMetaData()));
         result.merge(configuredSchemaMetaData);
         return result;
     }
@@ -55,9 +56,7 @@ public final class RuleSchemaMetaData {
      */
     public Collection<String> getAllTableNames() {
         Collection<String> result = new 
LinkedList<>(configuredSchemaMetaData.getAllTableNames());
-        for (SchemaMetaData each : unconfiguredSchemaMetaDataMap.values()) {
-            result.addAll(each.getAllTableNames());
-        }
+        unconfiguredSchemaMetaDataMap.values().forEach(result::addAll);
         return result;
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
index a130cd8..00fcb0c 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoader.java
@@ -77,7 +77,7 @@ public final class RuleSchemaMetaDataLoader {
             configuredSchemaMetaData.merge(schemaMetaData);
         }
         decorate(configuredSchemaMetaData);
-        Map<String, SchemaMetaData> unConfiguredSchemaMetaDataMap = 
loadUnConfiguredSchemaMetaData(databaseType, dataSourceMap, excludedTableNames);
+        Map<String, Collection<String>> unConfiguredSchemaMetaDataMap = 
loadUnConfiguredSchemaMetaData(databaseType, dataSourceMap, excludedTableNames);
         return new RuleSchemaMetaData(configuredSchemaMetaData, 
unConfiguredSchemaMetaDataMap);
     }
     
@@ -136,13 +136,13 @@ public final class RuleSchemaMetaDataLoader {
         return load(databaseType, dataSourceMap, tableName, props);
     }
     
-    private Map<String, SchemaMetaData> loadUnConfiguredSchemaMetaData(final 
DatabaseType databaseType, final Map<String, DataSource> dataSourceMap,
+    private Map<String, Collection<String>> 
loadUnConfiguredSchemaMetaData(final DatabaseType databaseType, final 
Map<String, DataSource> dataSourceMap,
                                                                        final 
Collection<String> excludedTableNames) throws SQLException {
-        Map<String, SchemaMetaData> result = new 
HashMap<>(dataSourceMap.size(), 1);
+        Map<String, Collection<String>> result = new 
HashMap<>(dataSourceMap.size(), 1);
         for (Entry<String, DataSource> entry : dataSourceMap.entrySet()) {
-            SchemaMetaData schemaMetaData = 
SchemaMetaDataLoader.load(entry.getValue(), databaseType.getName(), 
excludedTableNames);
-            if (!schemaMetaData.getAllTableNames().isEmpty()) {
-                result.put(entry.getKey(), schemaMetaData);
+            Collection<String> tableNames = 
SchemaMetaDataLoader.loadUnconfiguredTableNames(entry.getValue(), 
databaseType.getName(), excludedTableNames);
+            if (!tableNames.isEmpty()) {
+                result.put(entry.getKey(), tableNames);
             }
         }
         return result;
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
index 930b191..ba05662 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/AbstractMetaDataRefreshStrategyTest.java
@@ -18,7 +18,10 @@
 package org.apache.shardingsphere.infra.metadata.refresh;
 
 import com.google.common.collect.ImmutableMap;
+
 import java.util.Collections;
+
+import com.google.common.collect.Lists;
 import lombok.Getter;
 import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
 import org.apache.shardingsphere.infra.metadata.schema.RuleSchemaMetaData;
@@ -41,8 +44,7 @@ public abstract class AbstractMetaDataRefreshStrategyTest {
     private ShardingSphereMetaData buildMetaData() {
         return new ShardingSphereMetaData(null, new RuleSchemaMetaData(new 
SchemaMetaData(ImmutableMap
             .of("t_order", new TableMetaData(Collections.singletonList(new 
ColumnMetaData("order_id", 1, "String", false, false, false)), 
Collections.singletonList(new IndexMetaData("index"))))),
-            ImmutableMap.of("t_order_item", new 
SchemaMetaData(ImmutableMap.of("t_order_item",
-                new TableMetaData(Collections.singletonList(new 
ColumnMetaData("order_item_id", 1, "String", true, false, false)), 
Collections.singletonList(new IndexMetaData("index"))))))),
+            ImmutableMap.of("t_order_item", 
Lists.newArrayList("t_order_item"))),
                 "sharding_db");
     }
 }
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/CreateTableStatementMetaDataRefreshStrategyTest.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/CreateTableStatementMetaDataRefreshStrategyTest.java
index 3259171..331f7c0 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/CreateTableStatementMetaDataRefreshStrategyTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/refresh/CreateTableStatementMetaDataRefreshStrategyTest.java
@@ -134,7 +134,7 @@ public final class 
CreateTableStatementMetaDataRefreshStrategyTest extends Abstr
         MetaDataRefreshStrategy<CreateTableStatementContext> 
metaDataRefreshStrategy = new CreateTableStatementMetaDataRefreshStrategy();
         metaDataRefreshStrategy.refreshMetaData(getMetaData(), new 
MySQLDatabaseType(), dataSourceSourceMap, createTableStatementContext,
             tableName -> Optional.empty());
-        
assertTrue(getMetaData().getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().get("t_order_item").containsTable("t_order_item_0"));
+        
assertTrue(getMetaData().getRuleSchemaMetaData().getUnconfiguredSchemaMetaDataMap().get("t_order_item").contains("t_order_item_0"));
     }
     
     private DataSource initDataSource() throws SQLException {
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoaderTest.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoaderTest.java
index 059057f..4003e10 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoaderTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataLoaderTest.java
@@ -88,8 +88,8 @@ public final class RuleSchemaMetaDataLoaderTest {
         
assertTrue(actual.getConfiguredSchemaMetaData().get("data_node_routed_table_1").getColumns().containsKey("id"));
         assertThat(actual.getUnconfiguredSchemaMetaDataMap().size(), is(1));
         
assertTrue(actual.getUnconfiguredSchemaMetaDataMap().containsKey("logic_db"));
-        
assertTrue(actual.getUnconfiguredSchemaMetaDataMap().get("logic_db").containsTable("unconfigured_table_0"));
-        
assertTrue(actual.getUnconfiguredSchemaMetaDataMap().get("logic_db").containsTable("unconfigured_table_1"));
+        
assertTrue(actual.getUnconfiguredSchemaMetaDataMap().get("logic_db").contains("unconfigured_table_0"));
+        
assertTrue(actual.getUnconfiguredSchemaMetaDataMap().get("logic_db").contains("unconfigured_table_1"));
     }
     
     @Test
diff --git 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataTest.java
 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataTest.java
index d057748..93750dc 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/RuleSchemaMetaDataTest.java
@@ -20,6 +20,8 @@ package org.apache.shardingsphere.infra.metadata.schema;
 import 
org.apache.shardingsphere.sql.parser.binder.metadata.schema.SchemaMetaData;
 import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 import org.junit.Test;
+
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -30,7 +32,7 @@ public final class RuleSchemaMetaDataTest {
     @Test
     public void assertGetSchemaMetaData() {
         Map<String, TableMetaData> tableMetaDataMap = new HashMap<>(1, 1);
-        Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
+        Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
         RuleSchemaMetaData ruleSchemaMetaData = new RuleSchemaMetaData(new 
SchemaMetaData(tableMetaDataMap), unconfiguredSchemaMetaDataMap);
         SchemaMetaData schemaMetaData = ruleSchemaMetaData.getSchemaMetaData();
         assertNotNull("SchemaMetaData is null", schemaMetaData);
diff --git 
a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
 
b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
index 5f548c6..e6e20b2 100644
--- 
a/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
+++ 
b/shardingsphere-infra/shardingsphere-infra-executor/src/test/java/org/apache/shardingsphere/infra/executor/sql/context/ExecutionContextBuilderTest.java
@@ -91,10 +91,8 @@ public final class ExecutionContextBuilderTest {
                 new ColumnMetaData("status", Types.VARCHAR, "varchar", false, 
false, false),
                 new ColumnMetaData("c_date", Types.TIMESTAMP, "timestamp", 
false, false, false)), Collections.emptySet()));
         tableMetaDataMap.put("t_other", new 
TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 
Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
-        Map<String, TableMetaData> unconfiguredTableMetaDataMap = new 
HashMap<>(1, 1);
-        unconfiguredTableMetaDataMap.put("t_category", new 
TableMetaData(Collections.singletonList(new ColumnMetaData("order_id", 
Types.INTEGER, "int", true, false, false)), Collections.emptySet()));
-        Map<String, SchemaMetaData> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
-        unconfiguredSchemaMetaDataMap.put("ds_0", new 
SchemaMetaData(unconfiguredTableMetaDataMap));
+        Map<String, Collection<String>> unconfiguredSchemaMetaDataMap = new 
HashMap<>(1, 1);
+        unconfiguredSchemaMetaDataMap.put("ds_0", Arrays.asList("t_category"));
         return new RuleSchemaMetaData(new SchemaMetaData(tableMetaDataMap), 
unconfiguredSchemaMetaDataMap);
     }
 }
diff --git 
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
 
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
index 32ff684..9f0441d 100644
--- 
a/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
+++ 
b/shardingsphere-integration-test/shardingsphere-test-suite/src/test/java/org/apache/shardingsphere/dbtest/engine/dql/BaseDQLIT.java
@@ -114,6 +114,7 @@ public abstract class BaseDQLIT extends SingleIT {
         if ("shadow".equals(getRuleType())) {
             return;
         }
+        // Unconfigured Table doesn't have column info, should skip check 
column info
         if (0 == actualMetaData.getColumnCount()) {
             return;
         }
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
index d128143..fd24f2c 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoader.java
@@ -21,7 +21,6 @@ import lombok.AccessLevel;
 import lombok.NoArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shardingsphere.sql.parser.binder.metadata.MetaDataConnection;
-import 
org.apache.shardingsphere.sql.parser.binder.metadata.table.TableMetaData;
 import org.apache.shardingsphere.sql.parser.binder.metadata.util.JdbcUtil;
 
 import javax.sql.DataSource;
@@ -30,10 +29,8 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.List;
-import java.util.Map;
 
 /**
  * Schema meta data loader.
@@ -48,27 +45,15 @@ public final class SchemaMetaDataLoader {
     private static final String TABLE_NAME = "TABLE_NAME";
     
     /**
-     * Load schema meta data.
-     *
-     * @param dataSource data source
-     * @param databaseType database type
-     * @return schema meta data
-     * @throws SQLException SQL exception
-     */
-    public static SchemaMetaData load(final DataSource dataSource, final 
String databaseType) throws SQLException {
-        return load(dataSource, databaseType, Collections.emptyList());
-    }
-    
-    /**
-     * Load schema meta data.
+     * Load unconfigured table name.
      *
      * @param dataSource data source
      * @param databaseType database type
      * @param excludedTableNames excluded table names
-     * @return schema meta data
+     * @return Unconfigured table names
      * @throws SQLException SQL exception
      */
-    public static SchemaMetaData load(final DataSource dataSource, final 
String databaseType, final Collection<String> excludedTableNames) throws 
SQLException {
+    public static Collection<String> loadUnconfiguredTableNames(final 
DataSource dataSource, final String databaseType, final Collection<String> 
excludedTableNames) throws SQLException {
         List<String> tableNames;
         try (MetaDataConnection connection = new 
MetaDataConnection(dataSource.getConnection())) {
             tableNames = loadAllTableNames(connection, databaseType);
@@ -76,11 +61,9 @@ public final class SchemaMetaDataLoader {
         }
         log.info("Loading {} tables' meta data.", tableNames.size());
         if (tableNames.isEmpty()) {
-            return new SchemaMetaData(Collections.emptyMap());
+            return Collections.emptyList();
         }
-        Map<String, TableMetaData> tableMetaDataMap = new 
HashMap<>(tableNames.size(), 1);
-        tableNames.forEach(tableName -> tableMetaDataMap.put(tableName, new 
TableMetaData(Collections.emptyList(), Collections.emptyList())));
-        return new SchemaMetaData(tableMetaDataMap);
+        return tableNames;
     }
     
     private static List<String> loadAllTableNames(final Connection connection, 
final String databaseType) throws SQLException {
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaData.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaData.java
index 9fb3cac..9cdd7e9 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaData.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaData.java
@@ -48,6 +48,10 @@ public final class TableMetaData {
     
     private final List<String> primaryKeyColumns = new ArrayList<>();
     
+    public TableMetaData() {
+        this(Collections.emptyList(), Collections.emptyList());
+    }
+    
     public TableMetaData(final Collection<ColumnMetaData> columnMetaDataList, 
final Collection<IndexMetaData> indexMetaDataList) {
         columns = getColumns(columnMetaDataList);
         indexes = getIndexes(indexMetaDataList);
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaDataLoader.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaDataLoader.java
index 5f99e52..75b8a36 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaDataLoader.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/main/java/org/apache/shardingsphere/sql/parser/binder/metadata/table/TableMetaDataLoader.java
@@ -28,7 +28,6 @@ import javax.sql.DataSource;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.Collections;
 import java.util.Optional;
 
 /**
@@ -69,7 +68,7 @@ public final class TableMetaDataLoader {
             if (!isTableExist(connection, tableNamePattern, databaseType)) {
                 return Optional.empty();
             }
-            return Optional.of(new TableMetaData(Collections.emptyList(), 
Collections.emptyList()));
+            return Optional.of(new TableMetaData());
         }
     }
     
diff --git 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoaderTest.java
 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoaderTest.java
index ccecc49..fa71eab 100644
--- 
a/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoaderTest.java
+++ 
b/shardingsphere-sql-parser/shardingsphere-sql-parser-binder/src/test/java/org/apache/shardingsphere/sql/parser/binder/metadata/schema/SchemaMetaDataLoaderTest.java
@@ -29,6 +29,7 @@ import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.util.Collection;
+import java.util.Collections;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
@@ -64,9 +65,8 @@ public final class SchemaMetaDataLoaderTest {
     }
     
     @Test
-    public void assertLoadAllTableNamesForOracle() throws SQLException {
-        SchemaMetaData schemaMetaData = SchemaMetaDataLoader.load(dataSource, 
DATABASE_TYPE_ORACLE);
-        Collection<String> allTableNames = schemaMetaData.getAllTableNames();
-        assertThat(allTableNames.size(), is(0));
+    public void assertLoadUnconfiguredTableNamesForOracle() throws 
SQLException {
+        Collection<String> tableNames = 
SchemaMetaDataLoader.loadUnconfiguredTableNames(dataSource, 
DATABASE_TYPE_ORACLE, Collections.emptyList());
+        assertThat(tableNames.size(), is(0));
     }
 }

Reply via email to