This is an automated email from the ASF dual-hosted git repository.
zhaojinchao 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 10bebf6517a Rename SchemaBuilderMaterials to
GenericSchemaBuilderMaterials (#17967)
10bebf6517a is described below
commit 10bebf6517a337a9113d5682cae09d46f189ca8a
Author: Zhengqiang Duan <[email protected]>
AuthorDate: Thu May 26 15:48:35 2022 +0800
Rename SchemaBuilderMaterials to GenericSchemaBuilderMaterials (#17967)
---
.../metadata/EncryptSchemaMetaDataBuilder.java | 6 +++---
.../metadata/EncryptSchemaMetaDataBuilderTest.java | 24 +++++++++++-----------
.../metadata/ShardingSchemaMetaDataBuilder.java | 6 +++---
.../ShardingSchemaMetaDataBuilderTest.java | 18 ++++++++--------
.../schema/builder/GenericSchemaBuilder.java | 2 +-
...als.java => GenericSchemaBuilderMaterials.java} | 2 +-
.../schema/builder/SchemaMetaDataBuilder.java | 8 ++++----
.../spi/RuleBasedSchemaMetaDataBuilder.java | 6 +++---
.../database/schema/util/TableMetaDataUtil.java | 13 +++++++-----
.../schema/builder/SchemaMetaDataBuilderTest.java | 6 +++---
.../RuleBasedSchemaMetaDataBuilderFactoryTest.java | 3 +--
.../loader/CommonFixtureSchemaMetaDataBuilder.java | 6 +++---
...ainedFixtureRuleBasedSchemaMetaDataBuilder.java | 6 +++---
.../schema/util/TableMetaDataUtilTest.java | 8 ++++----
.../type/AlterTableStatementSchemaRefresher.java | 4 ++--
.../type/AlterViewStatementSchemaRefresher.java | 4 ++--
.../type/CreateTableStatementSchemaRefresher.java | 4 ++--
.../type/CreateViewStatementSchemaRefresher.java | 4 ++--
.../type/RenameTableStatementSchemaRefresher.java | 4 ++--
.../CommonFixtureSchemaMetaDataBuilder.java | 6 +++---
.../metadata/SingleTableSchemaMetaDataBuilder.java | 6 +++---
.../metadata/SingleTableSchemaBuilderTest.java | 4 ++--
.../SingleTableSchemaMetaDataBuilderTest.java | 8 ++++----
.../mode/manager/ContextManager.java | 8 ++++----
24 files changed, 84 insertions(+), 82 deletions(-)
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilder.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilder.java
index 67a9cb9eb2e..c79e436814a 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilder.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/main/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilder.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.encrypt.constant.EncryptOrder;
import org.apache.shardingsphere.encrypt.rule.EncryptColumn;
import org.apache.shardingsphere.encrypt.rule.EncryptRule;
import org.apache.shardingsphere.encrypt.rule.EncryptTable;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.SchemaMetaDataLoaderEngine;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.TableMetaDataLoaderMaterial;
@@ -46,7 +46,7 @@ import java.util.stream.Collectors;
public final class EncryptSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDataBuilder<EncryptRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final EncryptRule rule, final SchemaBuilderMaterials materials)
throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final EncryptRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
Collection<String> needLoadTables = tableNames.stream().filter(each ->
rule.findEncryptTable(each).isPresent()).collect(Collectors.toList());
if (needLoadTables.isEmpty()) {
return Collections.emptyMap();
@@ -56,7 +56,7 @@ public final class EncryptSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDa
}
@Override
- public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final EncryptRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final EncryptRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
Map<String, SchemaMetaData> result = new LinkedHashMap<>();
for (Entry<String, SchemaMetaData> entry :
schemaMetaDataMap.entrySet()) {
Map<String, TableMetaData> tables = new
LinkedHashMap<>(entry.getValue().getTables().size(), 1);
diff --git
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
index f73dd427df5..b749f8a98ba 100644
---
a/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-encrypt/shardingsphere-encrypt-core/src/test/java/org/apache/shardingsphere/encrypt/metadata/EncryptSchemaMetaDataBuilderTest.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.encrypt.spi.context.EncryptColumnDataType;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilderFactory;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.ColumnMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.TableMetaData;
@@ -169,7 +169,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
EncryptSchemaMetaDataBuilder loader =
getEncryptMetaDataBuilder(encryptRule, rules);
when(databaseType.formatTableNamePattern(TABLE_NAME)).thenReturn(TABLE_NAME);
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton(TABLE_NAME), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
TableMetaData tableMetaData =
actual.get("logic_db").getTables().values().iterator().next();
List<String> columnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(columnNames.get(0)).getName(),
is("id"));
@@ -187,7 +187,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws SQLException {
when(databaseType.getType()).thenReturn("H2");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -202,7 +202,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("MySQL");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -217,7 +217,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("Oracle");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -236,7 +236,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
ResultSet schemaMetaData = mockSchemaMetaData();
when(dataSource.getConnection().getMetaData().getSchemas()).thenReturn(schemaMetaData);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "public");
}
@@ -265,7 +265,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
final EncryptRule encryptRule) throws
SQLException {
when(databaseType.getType()).thenReturn("SQLServer");
Map<String, SchemaMetaData> actual = loader.load(tableNames,
encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertResult(actual, "logic_db");
}
@@ -282,7 +282,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Arrays.asList(createSingleTableRule(), encryptRule);
EncryptSchemaMetaDataBuilder loader = new
EncryptSchemaMetaDataBuilder();
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton("not_existed_table"), encryptRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", dataSource), rules, new
ConfigurationProperties(new Properties()), "logic_db"));
assertTrue(actual.isEmpty());
}
@@ -296,7 +296,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Arrays.asList(createSingleTableRule(), encryptRule);
EncryptSchemaMetaDataBuilder loader =
getEncryptMetaDataBuilder(encryptRule, rules);
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton(TABLE_NAME),
- encryptRule, new SchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
+ encryptRule, new GenericSchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
TableMetaData tableMetaData =
actual.get("logic_db").getTables().values().iterator().next();
List<String> actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(0)).getName(),
is("id"));
@@ -312,7 +312,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
dataSourceMap.put("logic_db_2", new MockedDataSource());
EncryptSchemaMetaDataBuilder loader = new
EncryptSchemaMetaDataBuilder();
Map<String, SchemaMetaData> actual =
loader.load(Collections.singleton("not_existed_table"),
- encryptRule, new SchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
+ encryptRule, new GenericSchemaBuilderMaterials(databaseType,
databaseType, dataSourceMap, rules, new ConfigurationProperties(new
Properties()), "logic_db"));
assertTrue(actual.isEmpty());
}
@@ -323,7 +323,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
Map<String, TableMetaData> tableMetaDataMap = new LinkedHashMap<>();
tableMetaDataMap.put("t_encrypt", createTableMetaData());
TableMetaData actual =
loader.decorate(Collections.singletonMap("logic_db",
- new SchemaMetaData("logic_db", tableMetaDataMap)), rule,
mock(SchemaBuilderMaterials.class)).get("logic_db").getTables().get("t_encrypt");
+ new SchemaMetaData("logic_db", tableMetaDataMap)), rule,
mock(GenericSchemaBuilderMaterials.class)).get("logic_db").getTables().get("t_encrypt");
assertThat(actual.getColumns().size(), is(2));
assertTrue(actual.getColumns().containsKey("id"));
assertTrue(actual.getColumns().containsKey("pwd"));
@@ -335,7 +335,7 @@ public final class EncryptSchemaMetaDataBuilderTest {
EncryptSchemaMetaDataBuilder loader = getEncryptMetaDataBuilder(rule,
Collections.singleton(rule));
Map<String, TableMetaData> tableMetaDataMap = new LinkedHashMap<>();
tableMetaDataMap.put("t_encrypt", createTableMetaData());
- SchemaBuilderMaterials materials = mock(SchemaBuilderMaterials.class,
RETURNS_DEEP_STUBS);
+ GenericSchemaBuilderMaterials materials =
mock(GenericSchemaBuilderMaterials.class, RETURNS_DEEP_STUBS);
when(materials.getDataSourceMap().values().stream().findAny()).thenReturn(Optional.of(dataSource));
TableMetaData actual =
loader.decorate(Collections.singletonMap("logic_db", new
SchemaMetaData("logic_db", tableMetaDataMap)),
rule, materials).get("logic_db").getTables().get("t_encrypt");
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilder.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilder.java
index 4780ab9935a..fd8b1abccd4 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilder.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/main/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilder.java
@@ -22,7 +22,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.SchemaMetaDataLoaderEngine;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.TableMetaDataLoaderMaterial;
@@ -53,7 +53,7 @@ import java.util.stream.Collectors;
public final class ShardingSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDataBuilder<ShardingRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final ShardingRule rule, final SchemaBuilderMaterials materials)
throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final ShardingRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
Collection<String> needLoadTables = tableNames.stream().filter(each ->
rule.findTableRule(each).isPresent() ||
rule.isBroadcastTable(each)).collect(Collectors.toList());
if (needLoadTables.isEmpty()) {
return Collections.emptyMap();
@@ -71,7 +71,7 @@ public final class ShardingSchemaMetaDataBuilder implements
RuleBasedSchemaMetaD
}
@Override
- public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final ShardingRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final ShardingRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
Map<String, SchemaMetaData> result = new LinkedHashMap<>();
for (Entry<String, SchemaMetaData> entry :
schemaMetaDataMap.entrySet()) {
Map<String, TableMetaData> tables = new
LinkedHashMap<>(entry.getValue().getTables().size(), 1);
diff --git
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilderTest.java
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilderTest.java
index f2015a99879..5fded3d02a0 100644
---
a/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilderTest.java
+++
b/shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-core/src/test/java/org/apache/shardingsphere/sharding/metadata/ShardingSchemaMetaDataBuilderTest.java
@@ -22,7 +22,7 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationPropertyKey;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.database.type.dialect.OracleDatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilderFactory;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.ColumnMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.IndexMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -251,7 +251,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(shardingRule);
ShardingSchemaMetaDataBuilder loader = (ShardingSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(shardingRule);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
assertResult(actual, "sharding_db");
}
@@ -264,7 +264,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(shardingRule);
ShardingSchemaMetaDataBuilder loader = (ShardingSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(shardingRule);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
assertResult(actual, "sharding_db");
}
@@ -277,7 +277,7 @@ public class ShardingSchemaMetaDataBuilderTest {
DatabaseType databaseType = mock(OracleDatabaseType.class);
when(databaseType.getType()).thenReturn("Oracle");
Map<String, SchemaMetaData> actual =
loader.load(Collections.singletonList(TABLE_NAME), shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
assertThat(actual.get("sharding_db").getTables().keySet().iterator().next(),
is("T_ORDER_0"));
TableMetaData tableMetaData =
actual.get("sharding_db").getTables().values().iterator().next();
List<String> actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
@@ -307,7 +307,7 @@ public class ShardingSchemaMetaDataBuilderTest {
ResultSet schemaMetaData = mockSchemaMetaData();
when(dataSource.getConnection().getMetaData().getSchemas()).thenReturn(schemaMetaData);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
assertResult(actual, "public");
}
@@ -334,7 +334,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(shardingRule);
ShardingSchemaMetaDataBuilder loader = (ShardingSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(shardingRule);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
assertResult(actual, "sharding_db");
}
@@ -358,7 +358,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(shardingRule);
ShardingSchemaMetaDataBuilder loader = (ShardingSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(shardingRule);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
TableMetaData tableMetaData =
actual.get("sharding_db").getTables().values().iterator().next();
List<String> actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(0)).getName(),
is("id"));
@@ -376,7 +376,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(shardingRule);
ShardingSchemaMetaDataBuilder loader = (ShardingSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(shardingRule);
Map<String, SchemaMetaData> actual = loader.load(tableNames,
shardingRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, props, "sharding_db"));
TableMetaData tableMetaData =
actual.get("sharding_db").getTables().values().iterator().next();
List<String> actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(0)).getName(),
is("id"));
@@ -391,7 +391,7 @@ public class ShardingSchemaMetaDataBuilderTest {
Map<String, TableMetaData> tableMetaDataMap = new LinkedHashMap<>();
tableMetaDataMap.put(TABLE_NAME, createTableMetaData());
Map<String, ColumnMetaData> columns =
builder.decorate(Collections.singletonMap("sharding_db", new
SchemaMetaData("sharding_db", tableMetaDataMap)),
- shardingRule,
mock(SchemaBuilderMaterials.class)).get("sharding_db").getTables().get(TABLE_NAME).getColumns();
+ shardingRule,
mock(GenericSchemaBuilderMaterials.class)).get("sharding_db").getTables().get(TABLE_NAME).getColumns();
Iterator<ColumnMetaData> iterator = columns.values().iterator();
assertTrue(iterator.next().isGenerated());
assertFalse(iterator.next().isGenerated());
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
index d033e137cfb..ede990d816f 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilder.java
@@ -55,7 +55,7 @@ public final class GenericSchemaBuilder {
final
Collection<ShardingSphereRule> rules, final ConfigurationProperties props)
throws SQLException {
String defaultSchemaName =
DatabaseTypeEngine.getDefaultSchemaName(protocolType, databaseName);
Map<String, SchemaMetaData> schemaMetaDataMap =
SchemaMetaDataBuilder.load(
- getAllTableNames(rules), new
SchemaBuilderMaterials(protocolType, storageType, dataSourceMap, rules, props,
defaultSchemaName));
+ getAllTableNames(rules), new
GenericSchemaBuilderMaterials(protocolType, storageType, dataSourceMap, rules,
props, defaultSchemaName));
if (schemaMetaDataMap.isEmpty()) {
return Collections.singletonMap(defaultSchemaName, new
ShardingSphereSchema());
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaBuilderMaterials.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterials.java
similarity index 96%
rename from
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaBuilderMaterials.java
rename to
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterials.java
index 373f87ae218..40a97d25fa1 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaBuilderMaterials.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/GenericSchemaBuilderMaterials.java
@@ -32,7 +32,7 @@ import java.util.Map;
*/
@RequiredArgsConstructor
@Getter
-public final class SchemaBuilderMaterials {
+public final class GenericSchemaBuilderMaterials {
private final DatabaseType protocolType;
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilder.java
index 71a909eee6e..6f4aa752609 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilder.java
@@ -50,7 +50,7 @@ public final class SchemaMetaDataBuilder {
* @return table meta data map
* @throws SQLException SQL exception
*/
- public static Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final SchemaBuilderMaterials materials) throws SQLException {
+ public static Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final GenericSchemaBuilderMaterials materials) throws SQLException {
Map<String, SchemaMetaData> result =
loadSchemasWithTableContainedRules(tableNames, materials);
if (!materials.getProtocolType().equals(materials.getStorageType())) {
result = translate(result, materials);
@@ -59,7 +59,7 @@ public final class SchemaMetaDataBuilder {
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private static Map<String, SchemaMetaData>
loadSchemasWithTableContainedRules(final Collection<String> tableNames, final
SchemaBuilderMaterials materials) throws SQLException {
+ private static Map<String, SchemaMetaData>
loadSchemasWithTableContainedRules(final Collection<String> tableNames, final
GenericSchemaBuilderMaterials materials) throws SQLException {
Map<String, SchemaMetaData> result = new LinkedHashMap<>();
for (Entry<ShardingSphereRule, RuleBasedSchemaMetaDataBuilder> entry :
RuleBasedSchemaMetaDataBuilderFactory.getInstances(materials.getRules()).entrySet())
{
ShardingSphereRule rule = entry.getKey();
@@ -86,7 +86,7 @@ public final class SchemaMetaDataBuilder {
}
}
- private static Map<String, SchemaMetaData> translate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final SchemaBuilderMaterials materials) {
+ private static Map<String, SchemaMetaData> translate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterials
materials) {
Map<String, SchemaMetaData> result = new LinkedHashMap<>();
Map<String, TableMetaData> tableMetaDataMap =
Optional.ofNullable(schemaMetaDataMap.get(
DatabaseTypeEngine.getDefaultSchemaName(materials.getStorageType(),
materials.getDefaultSchemaName()))).map(SchemaMetaData::getTables).orElseGet(Collections::emptyMap);
@@ -96,7 +96,7 @@ public final class SchemaMetaDataBuilder {
}
@SuppressWarnings({"unchecked", "rawtypes"})
- private static Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final SchemaBuilderMaterials materials)
throws SQLException {
+ private static Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final GenericSchemaBuilderMaterials
materials) throws SQLException {
Map<String, SchemaMetaData> result = new
LinkedHashMap<>(schemaMetaDataMap);
for (Entry<ShardingSphereRule, RuleBasedSchemaMetaDataBuilder> entry :
RuleBasedSchemaMetaDataBuilderFactory.getInstances(materials.getRules()).entrySet())
{
if (!(entry.getKey() instanceof TableContainedRule)) {
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilder.java
index d4b40a202b1..943d58aa1b0 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilder.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.infra.metadata.database.schema.builder.spi;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
import org.apache.shardingsphere.infra.rule.identifier.type.TableContainedRule;
import org.apache.shardingsphere.spi.annotation.SingletonSPI;
@@ -44,7 +44,7 @@ public interface RuleBasedSchemaMetaDataBuilder<T extends
TableContainedRule> ex
* @return schema meta data map
* @throws SQLException SQL exception
*/
- Map<String, SchemaMetaData> load(Collection<String> tableNames, T rule,
SchemaBuilderMaterials materials) throws SQLException;
+ Map<String, SchemaMetaData> load(Collection<String> tableNames, T rule,
GenericSchemaBuilderMaterials materials) throws SQLException;
/**
* Decorate schema meta data.
@@ -55,5 +55,5 @@ public interface RuleBasedSchemaMetaDataBuilder<T extends
TableContainedRule> ex
* @return schema meta data map
* @throws SQLException SQL exception
*/
- Map<String, SchemaMetaData> decorate(Map<String, SchemaMetaData>
schemaMetaDataMap, T rule, SchemaBuilderMaterials materials) throws
SQLException;
+ Map<String, SchemaMetaData> decorate(Map<String, SchemaMetaData>
schemaMetaDataMap, T rule, GenericSchemaBuilderMaterials materials) throws
SQLException;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtil.java
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtil.java
index f7b496e4be7..c2879b68073 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtil.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtil.java
@@ -24,7 +24,7 @@ import org.apache.shardingsphere.infra.datanode.DataNode;
import org.apache.shardingsphere.infra.datanode.DataNodes;
import
org.apache.shardingsphere.infra.datasource.registry.GlobalDataSourceRegistry;
import org.apache.shardingsphere.infra.exception.ShardingSphereException;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.TableMetaDataLoaderMaterial;
import java.util.Collection;
@@ -48,7 +48,8 @@ public class TableMetaDataUtil {
* @param checkMetaDataEnable config CHECK_TABLE_METADATA_ENABLED
* @return TableMetaDataLoadMaterials
*/
- public static Collection<TableMetaDataLoaderMaterial>
getTableMetaDataLoadMaterial(final Collection<String> tableNames, final
SchemaBuilderMaterials materials, final boolean checkMetaDataEnable) {
+ public static Collection<TableMetaDataLoaderMaterial>
getTableMetaDataLoadMaterial(final Collection<String> tableNames,
+
final GenericSchemaBuilderMaterials materials, final boolean
checkMetaDataEnable) {
Map<String, Collection<String>> dataSourceTableGroups = new
LinkedHashMap<>();
DataNodes dataNodes = new DataNodes(materials.getRules());
for (String each : tableNames) {
@@ -76,14 +77,15 @@ public class TableMetaDataUtil {
}
}
- private static void addOneActualTableDataNode(final SchemaBuilderMaterials
materials, final Map<String, Collection<String>> dataSourceTableGroups, final
DataNodes dataNodes, final String table) {
+ private static void addOneActualTableDataNode(final
GenericSchemaBuilderMaterials materials,
+ final Map<String,
Collection<String>> dataSourceTableGroups, final DataNodes dataNodes, final
String table) {
Optional<DataNode> dataNode =
dataNodes.getDataNodes(table).stream().filter(each ->
isSameDataSourceNameSchemaName(materials, each)).findFirst();
String dataSourceName =
dataNode.map(DataNode::getDataSourceName).orElseGet(() ->
materials.getDataSourceMap().keySet().iterator().next());
String tableName = dataNode.map(DataNode::getTableName).orElse(table);
addDataSourceTableGroups(dataSourceName, tableName,
dataSourceTableGroups);
}
- private static boolean isSameDataSourceNameSchemaName(final
SchemaBuilderMaterials materials, final DataNode dataNode) {
+ private static boolean isSameDataSourceNameSchemaName(final
GenericSchemaBuilderMaterials materials, final DataNode dataNode) {
String dataSourceName = dataNode.getDataSourceName().contains(".") ?
dataNode.getDataSourceName().split("\\.")[0] : dataNode.getDataSourceName();
if (!materials.getDataSourceMap().containsKey(dataSourceName)) {
return false;
@@ -91,7 +93,8 @@ public class TableMetaDataUtil {
return null == dataNode.getSchemaName() ||
dataNode.getSchemaName().equalsIgnoreCase(materials.getDefaultSchemaName());
}
- private static void addAllActualTableDataNode(final SchemaBuilderMaterials
materials, final Map<String, Collection<String>> dataSourceTableGroups, final
DataNodes dataNodes, final String table) {
+ private static void addAllActualTableDataNode(final
GenericSchemaBuilderMaterials materials,
+ final Map<String,
Collection<String>> dataSourceTableGroups, final DataNodes dataNodes, final
String table) {
Collection<DataNode> tableDataNodes = dataNodes.getDataNodes(table);
if (tableDataNodes.isEmpty()) {
addDataSourceTableGroups(materials.getDataSourceMap().keySet().iterator().next(),
table, dataSourceTableGroups);
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilderTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilderTest.java
index 099ed11f4cf..00ecd7b7abb 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilderTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/SchemaMetaDataBuilderTest.java
@@ -49,21 +49,21 @@ public final class SchemaMetaDataBuilderTest {
@Test
public void assertLoadWithExistedTableName() throws SQLException {
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
Arrays.asList(new CommonFixtureRule(), new
DataNodeContainedFixtureRule()), new ConfigurationProperties(new Properties()),
"sharding_db");
assertFalse(SchemaMetaDataBuilder.load(Collections.singletonList("data_node_routed_table1"),
materials).isEmpty());
}
@Test
public void assertLoadWithNotExistedTableName() throws SQLException {
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
Arrays.asList(new CommonFixtureRule(), new
DataNodeContainedFixtureRule()), new ConfigurationProperties(new Properties()),
"sharding_db");
assertTrue(SchemaMetaDataBuilder.load(Collections.singletonList("invalid_table"),
materials).isEmpty());
}
@Test
public void assertLoadAllTables() throws SQLException {
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("logic_db", new MockedDataSource()),
Arrays.asList(new CommonFixtureRule(), new
DataNodeContainedFixtureRule()), new ConfigurationProperties(new Properties()),
"sharding_db");
Map<String, SchemaMetaData> actual = SchemaMetaDataBuilder.load(new
DataNodeContainedFixtureRule().getTables(), materials);
assertThat(actual.size(), is(1));
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/RuleBasedSchemaMetaDataBuilderFactoryTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilderFactoryTest.java
similarity index 92%
rename from
shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/RuleBasedSchemaMetaDataBuilderFactoryTest.java
rename to
shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilderFactoryTest.java
index ec71464e2a6..71b96379952 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/RuleBasedSchemaMetaDataBuilderFactoryTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/builder/spi/RuleBasedSchemaMetaDataBuilderFactoryTest.java
@@ -15,9 +15,8 @@
* limitations under the License.
*/
-package org.apache.shardingsphere.infra.metadata.database.schema.builder;
+package org.apache.shardingsphere.infra.metadata.database.schema.builder.spi;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilderFactory;
import
org.apache.shardingsphere.infra.metadata.database.schema.fixture.loader.CommonFixtureSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.fixture.rule.CommonFixtureRule;
import org.junit.Test;
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/CommonFixtureSchemaMetaDataBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/CommonFixtureSchemaMetaDataBuilder.java
index 844e3640b6e..4c6a8d3e14c 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/CommonFixtureSchemaMetaDataBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/CommonFixtureSchemaMetaDataBuilder.java
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.infra.metadata.database.schema.fixture.loader;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.fixture.rule.CommonFixtureRule;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -30,12 +30,12 @@ import java.util.Map;
public final class CommonFixtureSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDataBuilder<CommonFixtureRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final CommonFixtureRule rule, final SchemaBuilderMaterials
materials) throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final CommonFixtureRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
return Collections.emptyMap();
}
@Override
- public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final CommonFixtureRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final CommonFixtureRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
return schemaMetaDataMap;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder.java
index 31f2d26d7dd..a0d5a11ca6e 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/fixture/loader/DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder.java
@@ -17,7 +17,7 @@
package
org.apache.shardingsphere.infra.metadata.database.schema.fixture.loader;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.fixture.rule.DataNodeContainedFixtureRule;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -32,7 +32,7 @@ import java.util.Map;
public final class DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder
implements RuleBasedSchemaMetaDataBuilder<DataNodeContainedFixtureRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final DataNodeContainedFixtureRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final DataNodeContainedFixtureRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
if (!tableNames.isEmpty() &&
(tableNames.contains("data_node_routed_table1") ||
tableNames.contains("data_node_routed_table2"))) {
Map<String, TableMetaData> tableMetaDataMap = new
LinkedHashMap<>();
for (String tableName : tableNames) {
@@ -45,7 +45,7 @@ public final class
DataNodeContainedFixtureRuleBasedSchemaMetaDataBuilder implem
@Override
public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap,
- final
DataNodeContainedFixtureRule rule, final SchemaBuilderMaterials materials)
throws SQLException {
+ final
DataNodeContainedFixtureRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
return schemaMetaDataMap;
}
diff --git
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtilTest.java
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtilTest.java
index 0e3a9e4b553..248974ea565 100644
---
a/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtilTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/database/schema/util/TableMetaDataUtilTest.java
@@ -20,7 +20,7 @@ package
org.apache.shardingsphere.infra.metadata.database.schema.util;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import org.apache.shardingsphere.infra.datanode.DataNode;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.TableMetaDataLoaderMaterial;
import
org.apache.shardingsphere.infra.rule.identifier.type.DataNodeContainedRule;
import
org.apache.shardingsphere.infra.rule.identifier.type.DataSourceContainedRule;
@@ -47,7 +47,7 @@ public final class TableMetaDataUtilTest {
public void
assertGetTableMetaDataLoadMaterialWhenConfigCheckMetaDataEnable() {
DataNodeContainedRule dataNodeContainedRule =
mock(DataNodeContainedRule.class);
when(dataNodeContainedRule.getDataNodesByTableName("t_order")).thenReturn(mockShardingDataNodes());
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(mock(DatabaseType.class), mock(DatabaseType.class),
mockDataSourceMap(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(mock(DatabaseType.class),
mock(DatabaseType.class), mockDataSourceMap(),
Arrays.asList(dataNodeContainedRule,
mock(DataSourceContainedRule.class)), mock(ConfigurationProperties.class),
"sharding_db");
Collection<TableMetaDataLoaderMaterial> actual =
TableMetaDataUtil.getTableMetaDataLoadMaterial(Collections.singleton("t_order"),
materials, true);
assertThat(actual.size(), is(2));
@@ -64,7 +64,7 @@ public final class TableMetaDataUtilTest {
public void
assertGetTableMetaDataLoadMaterialWhenNotConfigCheckMetaDataEnable() {
DataNodeContainedRule dataNodeContainedRule =
mock(DataNodeContainedRule.class);
when(dataNodeContainedRule.getDataNodesByTableName("t_order")).thenReturn(mockShardingDataNodes());
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(mock(DatabaseType.class), mock(DatabaseType.class),
mockDataSourceMap(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(mock(DatabaseType.class),
mock(DatabaseType.class), mockDataSourceMap(),
Arrays.asList(dataNodeContainedRule,
mock(DataSourceContainedRule.class)), mock(ConfigurationProperties.class),
"sharding_db");
Collection<TableMetaDataLoaderMaterial> actual =
TableMetaDataUtil.getTableMetaDataLoadMaterial(Collections.singleton("t_order"),
materials, false);
assertThat(actual.size(), is(1));
@@ -78,7 +78,7 @@ public final class TableMetaDataUtilTest {
public void
assertGetTableMetaDataLoadMaterialWhenNotConfigCheckMetaDataEnableForSingleTableDataNode()
{
DataNodeContainedRule dataNodeContainedRule =
mock(DataNodeContainedRule.class);
when(dataNodeContainedRule.getDataNodesByTableName("t_single")).thenReturn(mockSingleTableDataNodes());
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(mock(DatabaseType.class), mock(DatabaseType.class),
mockDataSourceMap(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(mock(DatabaseType.class),
mock(DatabaseType.class), mockDataSourceMap(),
Arrays.asList(dataNodeContainedRule,
mock(DataSourceContainedRule.class)), mock(ConfigurationProperties.class),
"public");
Collection<TableMetaDataLoaderMaterial> actual =
TableMetaDataUtil.getTableMetaDataLoadMaterial(Collections.singleton("t_single"),
materials, false);
assertThat(actual.size(), is(1));
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterTableStatementSchemaRefresher.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterTableStatementSchemaRefresher.java
index e7f817756ca..6f34c9d1848 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterTableStatementSchemaRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterTableStatementSchemaRefresher.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.Opti
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.event.SchemaAlteredEvent;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -77,7 +77,7 @@ public final class AlterTableStatementSchemaRefresher
implements MetaDataRefresh
if (!containsInImmutableDataNodeContainedRule(tableName, database)) {
database.getRuleMetaData().findRules(MutableDataNodeRule.class).forEach(each ->
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
}
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(database.getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(database.getProtocolType(),
database.getResource().getDatabaseType(),
database.getResource().getDataSources(), database.getRuleMetaData().getRules(),
props, schemaName);
Map<String, SchemaMetaData> metaDataMap =
SchemaMetaDataBuilder.load(Collections.singletonList(tableName), materials);
Optional<TableMetaData> actualTableMetaData =
Optional.ofNullable(metaDataMap.get(schemaName)).map(optional ->
optional.getTables().get(tableName));
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterViewStatementSchemaRefresher.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterViewStatementSchemaRefresher.java
index d36e6cbafb7..cc89ba75d7f 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterViewStatementSchemaRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/AlterViewStatementSchemaRefresher.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.Opti
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.event.SchemaAlteredEvent;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -80,7 +80,7 @@ public final class AlterViewStatementSchemaRefresher
implements MetaDataRefreshe
if (!containsInImmutableDataNodeContainedRule(viewName, database)) {
database.getRuleMetaData().findRules(MutableDataNodeRule.class).forEach(each ->
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
}
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(database.getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(database.getProtocolType(),
database.getResource().getDatabaseType(),
database.getResource().getDataSources(), database.getRuleMetaData().getRules(),
props, schemaName);
Map<String, SchemaMetaData> metaDataMap =
SchemaMetaDataBuilder.load(Collections.singletonList(viewName), materials);
Optional<TableMetaData> actualViewMetaData =
Optional.ofNullable(metaDataMap.get(schemaName)).map(optional ->
optional.getTables().get(viewName));
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateTableStatementSchemaRefresher.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateTableStatementSchemaRefresher.java
index c0518f5a6d4..8b1cf8ea62e 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateTableStatementSchemaRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateTableStatementSchemaRefresher.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.Opti
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.event.SchemaAlteredEvent;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -53,7 +53,7 @@ public final class CreateTableStatementSchemaRefresher
implements MetaDataRefres
if (!containsInImmutableDataNodeContainedRule(tableName, database)) {
database.getRuleMetaData().findRules(MutableDataNodeRule.class).forEach(each ->
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
}
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(database.getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(database.getProtocolType(),
database.getResource().getDatabaseType(),
database.getResource().getDataSources(), database.getRuleMetaData().getRules(),
props, schemaName);
Map<String, SchemaMetaData> metaDataMap =
SchemaMetaDataBuilder.load(Collections.singletonList(tableName), materials);
Optional<TableMetaData> actualTableMetaData =
Optional.ofNullable(metaDataMap.get(schemaName)).map(optional ->
optional.getTables().get(tableName));
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateViewStatementSchemaRefresher.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateViewStatementSchemaRefresher.java
index 29574efd927..3f9c7db8358 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateViewStatementSchemaRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/CreateViewStatementSchemaRefresher.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.Opti
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.event.SchemaAlteredEvent;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -53,7 +53,7 @@ public final class CreateViewStatementSchemaRefresher
implements MetaDataRefresh
if (!containsInImmutableDataNodeContainedRule(viewName, database)) {
database.getRuleMetaData().findRules(MutableDataNodeRule.class).forEach(each ->
each.put(logicDataSourceNames.iterator().next(), schemaName, viewName));
}
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(database.getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(database.getProtocolType(),
database.getResource().getDatabaseType(),
database.getResource().getDataSources(), database.getRuleMetaData().getRules(),
props, schemaName);
Map<String, SchemaMetaData> metaDataMap =
SchemaMetaDataBuilder.load(Collections.singletonList(viewName), materials);
Optional<TableMetaData> actualViewMetaData =
Optional.ofNullable(metaDataMap.get(schemaName)).map(optional ->
optional.getTables().get(viewName));
diff --git
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/RenameTableStatementSchemaRefresher.java
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/RenameTableStatementSchemaRefresher.java
index 5304377388d..03b4ad880c6 100644
---
a/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/RenameTableStatementSchemaRefresher.java
+++
b/shardingsphere-infra/shardingsphere-infra-context/src/main/java/org/apache/shardingsphere/infra/context/refresher/type/RenameTableStatementSchemaRefresher.java
@@ -24,7 +24,7 @@ import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.Opti
import
org.apache.shardingsphere.infra.federation.optimizer.context.planner.OptimizerPlannerContextFactory;
import
org.apache.shardingsphere.infra.federation.optimizer.metadata.FederationDatabaseMetaData;
import
org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.event.SchemaAlteredEvent;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -75,7 +75,7 @@ public final class RenameTableStatementSchemaRefresher
implements MetaDataRefres
if (!containsInImmutableDataNodeContainedRule(tableName, database)) {
database.getRuleMetaData().findRules(MutableDataNodeRule.class).forEach(each ->
each.put(logicDataSourceNames.iterator().next(), schemaName, tableName));
}
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(database.getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(database.getProtocolType(),
database.getResource().getDatabaseType(),
database.getResource().getDataSources(), database.getRuleMetaData().getRules(),
props, schemaName);
Map<String, SchemaMetaData> metaDataMap =
SchemaMetaDataBuilder.load(Collections.singletonList(tableName), materials);
Optional<TableMetaData> actualTableMetaData =
Optional.ofNullable(metaDataMap.get(schemaName)).map(optional ->
optional.getTables().get(tableName));
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/fixture/CommonFixtureSchemaMetaDataBuilder.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/fixture/CommonFixtureSchemaMetaDataBuilder.java
index e18b7436298..ec6e5d1b0b6 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/fixture/CommonFixtureSchemaMetaDataBuilder.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/fixture/CommonFixtureSchemaMetaDataBuilder.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.infra.federation.optimizer.metadata.fixture;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.TableMetaData;
@@ -30,14 +30,14 @@ import java.util.Map;
public final class CommonFixtureSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDataBuilder<CommonFixtureRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final CommonFixtureRule rule, final SchemaBuilderMaterials
materials) throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final CommonFixtureRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
Map<String, TableMetaData> tableMetaDataMap =
Collections.singletonMap("t_order_new",
new TableMetaData("t_order_new", Collections.emptyList(),
Collections.emptyList(), Collections.emptyList()));
return Collections.singletonMap(materials.getDefaultSchemaName(), new
SchemaMetaData(materials.getDefaultSchemaName(), tableMetaDataMap));
}
@Override
- public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final CommonFixtureRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final CommonFixtureRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
return schemaMetaDataMap;
}
diff --git
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilder.java
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilder.java
index bccdf96983e..6f17097bcf6 100644
---
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilder.java
+++
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/main/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilder.java
@@ -17,7 +17,7 @@
package org.apache.shardingsphere.singletable.metadata;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.SchemaMetaDataLoaderEngine;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.TableMetaDataLoaderMaterial;
@@ -44,7 +44,7 @@ import java.util.stream.Collectors;
public final class SingleTableSchemaMetaDataBuilder implements
RuleBasedSchemaMetaDataBuilder<SingleTableRule> {
@Override
- public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final SingleTableRule rule, final SchemaBuilderMaterials materials)
throws SQLException {
+ public Map<String, SchemaMetaData> load(final Collection<String>
tableNames, final SingleTableRule rule, final GenericSchemaBuilderMaterials
materials) throws SQLException {
Collection<String> ruleTables = rule.getTables();
Collection<String> needLoadTables =
tableNames.stream().filter(ruleTables::contains).collect(Collectors.toSet());
if (needLoadTables.isEmpty()) {
@@ -58,7 +58,7 @@ public final class SingleTableSchemaMetaDataBuilder
implements RuleBasedSchemaMe
}
@Override
- public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final SingleTableRule rule, final
SchemaBuilderMaterials materials) throws SQLException {
+ public Map<String, SchemaMetaData> decorate(final Map<String,
SchemaMetaData> schemaMetaDataMap, final SingleTableRule rule, final
GenericSchemaBuilderMaterials materials) throws SQLException {
Map<String, SchemaMetaData> result = new LinkedHashMap<>();
for (Entry<String, SchemaMetaData> entry :
schemaMetaDataMap.entrySet()) {
Map<String, TableMetaData> tables = new
LinkedHashMap<>(entry.getValue().getTables().size(), 1);
diff --git
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
index ecc70912f94..775025d3c9f 100644
---
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
+++
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaBuilderTest.java
@@ -21,7 +21,7 @@ import lombok.SneakyThrows;
import org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.TableMetaData;
@@ -74,7 +74,7 @@ public final class SingleTableSchemaBuilderTest {
when(dataSource.getConnection()).thenReturn(connection);
Collection<ShardingSphereRule> rules =
Collections.singletonList(mockSingleTableRuleLoad(connection));
mockSQLLoad(connection);
- Map<String, SchemaMetaData> actual =
SchemaMetaDataBuilder.load(Arrays.asList(singleTableNames), new
SchemaBuilderMaterials(
+ Map<String, SchemaMetaData> actual =
SchemaMetaDataBuilder.load(Arrays.asList(singleTableNames), new
GenericSchemaBuilderMaterials(
databaseType, databaseType,
Collections.singletonMap(DefaultDatabase.LOGIC_NAME, dataSource), rules, new
ConfigurationProperties(new Properties()), DefaultDatabase.LOGIC_NAME));
assertThat(actual.size(), is(1));
assertThat(actual.values().iterator().next().getTables().size(),
is(2));
diff --git
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilderTest.java
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilderTest.java
index fbc981bf5fe..6293b9c5744 100644
---
a/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilderTest.java
+++
b/shardingsphere-kernel/shardingsphere-single-table/shardingsphere-single-table-core/src/test/java/org/apache/shardingsphere/singletable/metadata/SingleTableSchemaMetaDataBuilderTest.java
@@ -21,7 +21,7 @@ import
org.apache.shardingsphere.infra.config.props.ConfigurationProperties;
import org.apache.shardingsphere.infra.database.DefaultDatabase;
import org.apache.shardingsphere.infra.database.type.DatabaseType;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.spi.RuleBasedSchemaMetaDataBuilderFactory;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.ColumnMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.IndexMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -116,7 +116,7 @@ public final class SingleTableSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(singleTableRule);
SingleTableSchemaMetaDataBuilder builder =
(SingleTableSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(singleTableRule);
Map<String, SchemaMetaData> actual =
builder.load(Collections.singleton("tbl"), singleTableRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, new
ConfigurationProperties(new Properties()), "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, new
ConfigurationProperties(new Properties()), "sharding_db"));
assertFalse(actual.isEmpty());
assertTrue(actual.containsKey("sharding_db"));
assertTrue(actual.get("sharding_db").getTables().containsKey("tbl"));
@@ -133,7 +133,7 @@ public final class SingleTableSchemaMetaDataBuilderTest {
Collection<ShardingSphereRule> rules =
Collections.singletonList(singleTableRule);
final SingleTableSchemaMetaDataBuilder builder =
(SingleTableSchemaMetaDataBuilder)
RuleBasedSchemaMetaDataBuilderFactory.getInstances(rules).get(singleTableRule);
Map<String, SchemaMetaData> actual =
builder.load(Collections.singleton("tbl"), singleTableRule,
- new SchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, new
ConfigurationProperties(new Properties()), "sharding_db"));
+ new GenericSchemaBuilderMaterials(databaseType, databaseType,
Collections.singletonMap("ds", dataSource), rules, new
ConfigurationProperties(new Properties()), "sharding_db"));
assertFalse(actual.isEmpty());
assertTrue(actual.containsKey("sharding_db"));
TableMetaData actualTableMetaData =
actual.get("sharding_db").getTables().get("tbl");
@@ -142,7 +142,7 @@ public final class SingleTableSchemaMetaDataBuilderTest {
assertThat(actualTableMetaData.getColumns().get(actualColumnNames.get(0)),
is(new ColumnMetaData("id", 4, true, false, false)));
assertThat(actualTableMetaData.getColumns().get(actualColumnNames.get(1)),
is(new ColumnMetaData("name", 12, false, false, false)));
assertThat(actualTableMetaData.getColumns().get(actualColumnNames.get(2)),
is(new ColumnMetaData("doc", -1, false, false, false)));
- TableMetaData tableMetaData = builder.decorate(actual,
singleTableRule,
mock(SchemaBuilderMaterials.class)).get("sharding_db").getTables().get("tbl");
+ TableMetaData tableMetaData = builder.decorate(actual,
singleTableRule,
mock(GenericSchemaBuilderMaterials.class)).get("sharding_db").getTables().get("tbl");
actualColumnNames = new
ArrayList<>(tableMetaData.getColumns().keySet());
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(0)),
is(new ColumnMetaData("id", 4, true, false, false)));
assertThat(tableMetaData.getColumns().get(actualColumnNames.get(1)),
is(new ColumnMetaData("name", 12, false, false, false)));
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
index 75fa2f3fcbf..39c0a285c2f 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/ContextManager.java
@@ -39,7 +39,7 @@ import
org.apache.shardingsphere.infra.metadata.database.resource.ShardingSphere
import
org.apache.shardingsphere.infra.metadata.database.rule.ShardingSphereRuleMetaData;
import
org.apache.shardingsphere.infra.metadata.database.schema.ShardingSphereSchema;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilder;
-import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaBuilderMaterials;
+import
org.apache.shardingsphere.infra.metadata.database.schema.builder.GenericSchemaBuilderMaterials;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SchemaMetaDataBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.builder.SystemSchemaBuilder;
import
org.apache.shardingsphere.infra.metadata.database.schema.loader.model.SchemaMetaData;
@@ -413,7 +413,7 @@ public final class ContextManager implements AutoCloseable {
*/
public void reloadMetaData(final String databaseName, final String
schemaName, final String tableName) {
try {
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(metaDataContexts.getDatabase(databaseName).getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(metaDataContexts.getDatabase(databaseName).getProtocolType(),
metaDataContexts.getDatabase(databaseName).getResource().getDatabaseType(),
metaDataContexts.getDatabase(databaseName).getResource().getDataSources(),
metaDataContexts.getDatabase(databaseName).getRuleMetaData().getRules(),
metaDataContexts.getMetaData().getProps(), schemaName);
loadTableMetaData(databaseName, schemaName, tableName, materials);
@@ -432,7 +432,7 @@ public final class ContextManager implements AutoCloseable {
*/
public void reloadMetaData(final String databaseName, final String
schemaName, final String tableName, final String dataSourceName) {
try {
- SchemaBuilderMaterials materials = new
SchemaBuilderMaterials(metaDataContexts.getDatabase(databaseName).getProtocolType(),
+ GenericSchemaBuilderMaterials materials = new
GenericSchemaBuilderMaterials(metaDataContexts.getDatabase(databaseName).getProtocolType(),
metaDataContexts.getDatabase(databaseName).getResource().getDatabaseType(),
Collections.singletonMap(dataSourceName,
metaDataContexts.getDatabase(databaseName).getResource().getDataSources().get(dataSourceName)),
metaDataContexts.getDatabase(databaseName).getRuleMetaData().getRules(),
metaDataContexts.getMetaData().getProps(), schemaName);
@@ -454,7 +454,7 @@ public final class ContextManager implements AutoCloseable {
});
}
- private void loadTableMetaData(final String databaseName, final String
schemaName, final String tableName, final SchemaBuilderMaterials materials)
throws SQLException {
+ private void loadTableMetaData(final String databaseName, final String
schemaName, final String tableName, final GenericSchemaBuilderMaterials
materials) throws SQLException {
SchemaMetaData schemaMetaData =
SchemaMetaDataBuilder.load(Collections.singletonList(tableName),
materials).getOrDefault(schemaName, new SchemaMetaData("",
Collections.emptyMap()));
if (schemaMetaData.getTables().containsKey(tableName)) {
metaDataContexts.getDatabase(databaseName).getSchemas().get(schemaName).put(tableName,
schemaMetaData.getTables().get(tableName));