diff --git a/sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/sharding/execute/metadata/loader/ShardingTableMetaDataLoader.java b/sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/sharding/execute/metadata/loader/ShardingTableMetaDataLoader.java index 9c3fee242142b444e9d91119e301e9a3f3e2b89e..7e3d00f5380d14750354d2872cbcc96b1ba6d83c 100644 --- a/sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/sharding/execute/metadata/loader/ShardingTableMetaDataLoader.java +++ b/sharding-core/sharding-core-execute/src/main/java/org/apache/shardingsphere/sharding/execute/metadata/loader/ShardingTableMetaDataLoader.java @@ -17,9 +17,20 @@ package org.apache.shardingsphere.sharding.execute.metadata.loader; -import com.google.common.base.Optional; -import com.google.common.collect.Lists; -import lombok.RequiredArgsConstructor; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + import org.apache.shardingsphere.core.metadata.column.ShardingGeneratedKeyColumnMetaData; import org.apache.shardingsphere.core.rule.DataNode; import org.apache.shardingsphere.core.rule.ShardingRule; @@ -37,18 +48,10 @@ import org.apache.shardingsphere.underlying.executor.engine.ExecutorEngine; import org.apache.shardingsphere.underlying.executor.engine.GroupedCallback; import org.apache.shardingsphere.underlying.executor.engine.InputGroup; -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; +import com.google.common.base.Optional; +import com.google.common.collect.Lists; + +import lombok.RequiredArgsConstructor; /** * Table meta data loader for sharding. @@ -194,7 +197,7 @@ public final class ShardingTableMetaDataLoader implements TableMetaDataLoader result = new HashMap<>(); result.putAll(loadShardingTables(shardingRule)); - loadDefaultTables(shardingRule, result); + result.putAll(loadDefaultTables(shardingRule)); return new TableMetas(result); } @@ -206,7 +209,7 @@ public final class ShardingTableMetaDataLoader implements TableMetaDataLoader loadDefaultTables(final ShardingRule shardingRule, final Map result) throws SQLException { + private Map loadDefaultTables(final ShardingRule shardingRule) throws SQLException { Optional actualDefaultDataSourceName = shardingRule.findActualDefaultDataSourceName(); if (!actualDefaultDataSourceName.isPresent()) { return Collections.emptyMap(); @@ -221,9 +224,10 @@ public final class ShardingTableMetaDataLoader implements TableMetaDataLoader result = new HashMap<>(tableNames.size(), 1); + Iterator tabNameIter = tableNames.iterator(); + for (TableMetaData meta : metaList) { + result.put(tabNameIter.next(), meta); } return result; }