This is an automated email from the ASF dual-hosted git repository.
duanzhengqiang 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 5431eca2ea9 Alter table add schema (#17010)
5431eca2ea9 is described below
commit 5431eca2ea9ee8c64f7447f267976157cf4632bf
Author: zhaojinchao <[email protected]>
AuthorDate: Fri Apr 22 20:40:46 2022 +0800
Alter table add schema (#17010)
---
.../metadata/FederationDatabaseMetaData.java | 32 +++++++++++++++++++++-
.../mode/manager/ContextManager.java | 19 +++++++------
.../metadata/persist/MetaDataPersistService.java | 6 ++--
.../persist/MetaDataPersistServiceTest.java | 6 ++--
.../cluster/ClusterContextManagerBuilder.java | 2 +-
.../ClusterContextManagerCoordinator.java | 24 ++++++++--------
.../event/datasource/DataSourceChangedEvent.java | 2 +-
.../event/rule/RuleConfigurationsChangedEvent.java | 2 +-
.../ClusterContextManagerCoordinatorTest.java | 6 ++--
.../StandaloneContextManagerBuilder.java | 2 +-
.../ImportDatabaseConfigurationHandler.java | 2 +-
.../rdl/rule/RuleDefinitionBackendHandler.java | 6 ++--
12 files changed, 70 insertions(+), 39 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/FederationDatabaseMetaData.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/FederationDatabaseMetaData.java
index 051090f5f9a..0272fd6b288 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/FederationDatabaseMetaData.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/main/java/org/apache/shardingsphere/infra/federation/optimizer/metadata/FederationDatabaseMetaData.java
@@ -49,6 +49,7 @@ public final class FederationDatabaseMetaData {
*
* @param metaData table meta data to be updated
*/
+ // TODO Remove this when search path are finished
public void put(final TableMetaData metaData) {
if (schemas.containsKey(name)) {
schemas.get(name).put(metaData);
@@ -59,14 +60,43 @@ public final class FederationDatabaseMetaData {
}
}
+ /**
+ * Add table meta data.
+ *
+ * @param schemaName schema name
+ * @param metaData table meta data to be updated
+ */
+ public void put(final String schemaName, final TableMetaData metaData) {
+ if (schemas.containsKey(schemaName)) {
+ schemas.get(schemaName).put(metaData);
+ } else {
+ Map<String, TableMetaData> tableMetaData = new LinkedHashMap<>();
+ tableMetaData.put(schemaName, metaData);
+ schemas.put(schemaName, new FederationSchemaMetaData(schemaName,
tableMetaData));
+ }
+ }
+
/**
* Remove table meta data.
*
* @param tableName table name to be removed
*/
+ // TODO Remove this when search path are finished
public void remove(final String tableName) {
- if (schemas.containsKey(name)) {
+ if (schemas.containsKey(tableName)) {
schemas.get(name).remove(tableName);
}
}
+
+ /**
+ * Remove table meta data.
+ *
+ * @param schemaName schema name
+ * @param tableName table name to be removed
+ */
+ public void remove(final String schemaName, final String tableName) {
+ if (schemas.containsKey(schemaName)) {
+ schemas.get(schemaName).remove(tableName);
+ }
+ }
}
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 79b860e4a2f..df2a1740b16 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
@@ -166,20 +166,21 @@ public final class ContextManager implements
AutoCloseable {
* Alter database.
*
* @param databaseName database name
+ * @param schemaName schema name
* @param changedTableMetaData changed table meta data
* @param deletedTable deleted table
*/
- public void alterDatabase(final String databaseName, final TableMetaData
changedTableMetaData, final String deletedTable) {
- Optional.ofNullable(changedTableMetaData).ifPresent(optional ->
alterTableSchema(databaseName, optional));
- Optional.ofNullable(deletedTable).ifPresent(optional ->
deleteTableSchema(databaseName, optional));
+ public void alterDatabase(final String databaseName, final String
schemaName, final TableMetaData changedTableMetaData, final String
deletedTable) {
+ Optional.ofNullable(changedTableMetaData).ifPresent(optional ->
alterTableSchema(databaseName, schemaName, optional));
+ Optional.ofNullable(deletedTable).ifPresent(optional ->
deleteTable(databaseName, schemaName, optional));
}
- private void alterTableSchema(final String databaseName, final
TableMetaData changedTableMetaData) {
+ private void alterTableSchema(final String databaseName, final String
schemaName, final TableMetaData changedTableMetaData) {
ShardingSphereMetaData metaData =
metaDataContexts.getMetaData(databaseName);
alterSingleTableDataNodes(databaseName, metaData,
changedTableMetaData);
FederationDatabaseMetaData databaseMetaData =
metaDataContexts.getOptimizerContext().getFederationMetaData().getDatabases().get(databaseName);
- metaData.getDefaultSchema().put(changedTableMetaData.getName(),
changedTableMetaData);
- databaseMetaData.put(changedTableMetaData);
+
metaData.getSchemaByName(schemaName).put(changedTableMetaData.getName(),
changedTableMetaData);
+ databaseMetaData.put(schemaName, changedTableMetaData);
metaDataContexts.getOptimizerContext().getPlannerContexts().put(databaseName,
OptimizerPlannerContextFactory.create(databaseMetaData));
}
@@ -196,11 +197,11 @@ public final class ContextManager implements
AutoCloseable {
metaData.getRuleMetaData().getRules().addAll(rules);
}
- private void deleteTableSchema(final String databaseName, final String
deletedTable) {
+ private void deleteTable(final String databaseName, final String
schemaName, final String deletedTable) {
ShardingSphereMetaData metaData =
metaDataContexts.getMetaData(databaseName);
+ metaData.getSchemaByName(schemaName).remove(deletedTable);
FederationDatabaseMetaData databaseMetaData =
metaDataContexts.getOptimizerContext().getFederationMetaData().getDatabases().get(databaseName);
- metaData.getDefaultSchema().remove(deletedTable);
- databaseMetaData.remove(deletedTable);
+ databaseMetaData.remove(schemaName, deletedTable);
metaDataContexts.getOptimizerContext().getPlannerContexts().put(databaseName,
OptimizerPlannerContextFactory.create(databaseMetaData));
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
index 93a938e10ac..27325714dc3 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
@@ -55,7 +55,7 @@ public final class MetaDataPersistService {
private final SchemaMetaDataPersistService schemaMetaDataService;
- private final DatabaseRulePersistService schemaRuleService;
+ private final DatabaseRulePersistService databaseRulePersistService;
private final GlobalRulePersistService globalRuleService;
@@ -69,7 +69,7 @@ public final class MetaDataPersistService {
this.repository = repository;
dataSourceService = new DataSourcePersistService(repository);
schemaMetaDataService = new SchemaMetaDataPersistService(repository);
- schemaRuleService = new DatabaseRulePersistService(repository);
+ databaseRulePersistService = new
DatabaseRulePersistService(repository);
globalRuleService = new GlobalRulePersistService(repository);
propsService = new PropertiesPersistService(repository);
computeNodePersistService = new ComputeNodePersistService(repository);
@@ -91,7 +91,7 @@ public final class MetaDataPersistService {
for (Entry<String, ? extends DatabaseConfiguration> entry :
schemaConfigs.entrySet()) {
String schemaName = entry.getKey();
dataSourceService.persist(schemaName,
getDataSourcePropertiesMap(entry.getValue().getDataSources()), isOverwrite);
- schemaRuleService.persist(schemaName,
entry.getValue().getRuleConfigurations(), isOverwrite);
+ databaseRulePersistService.persist(schemaName,
entry.getValue().getRuleConfigurations(), isOverwrite);
}
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
index 682e42ada7f..f272a8ac943 100644
---
a/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistServiceTest.java
@@ -66,7 +66,7 @@ public final class MetaDataPersistServiceTest {
private DataSourcePersistService dataSourceService;
@Mock
- private DatabaseRulePersistService schemaRuleService;
+ private DatabaseRulePersistService databaseRulePersistService;
@Mock
private GlobalRulePersistService globalRuleService;
@@ -83,7 +83,7 @@ public final class MetaDataPersistServiceTest {
public void setUp() throws ReflectiveOperationException {
metaDataPersistService = new
MetaDataPersistService(mock(PersistRepository.class));
setField("dataSourceService", dataSourceService);
- setField("schemaRuleService", schemaRuleService);
+ setField("databaseRulePersistService", databaseRulePersistService);
setField("globalRuleService", globalRuleService);
setField("propsService", propsService);
setField("computeNodePersistService", computeNodePersistService);
@@ -104,7 +104,7 @@ public final class MetaDataPersistServiceTest {
metaDataPersistService.persistConfigurations(
Collections.singletonMap("foo_db", new
DataSourceProvidedDatabaseConfiguration(dataSourceMap, ruleConfigs)),
globalRuleConfigs, props, false);
verify(dataSourceService).persist("foo_db",
createDataSourcePropertiesMap(dataSourceMap), false);
- verify(schemaRuleService).persist("foo_db", ruleConfigs, false);
+ verify(databaseRulePersistService).persist("foo_db", ruleConfigs,
false);
verify(globalRuleService).persist(globalRuleConfigs, false);
verify(propsService).persist(props, false);
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
index d060b360b7a..9e6e13005f9 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/ClusterContextManagerBuilder.java
@@ -145,7 +145,7 @@ public final class ClusterContextManagerBuilder implements
ContextManagerBuilder
private DatabaseConfiguration createDatabaseConfiguration(final String
databaseName, final MetaDataPersistService metaDataPersistService,
final
ContextManagerBuilderParameter parameter) {
Map<String, DataSource> dataSources =
metaDataPersistService.getEffectiveDataSources(databaseName,
parameter.getDatabaseConfigs());
- Collection<RuleConfiguration> databaseRuleConfigs =
metaDataPersistService.getSchemaRuleService().load(databaseName);
+ Collection<RuleConfiguration> databaseRuleConfigs =
metaDataPersistService.getDatabaseRulePersistService().load(databaseName);
return new DataSourceProvidedDatabaseConfiguration(dataSources,
databaseRuleConfigs);
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
index 7c7c9937c50..db4472f3c08 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinator.java
@@ -123,7 +123,7 @@ public final class ClusterContextManagerCoordinator {
*/
@Subscribe
public synchronized void renew(final SchemaChangedEvent event) {
- contextManager.alterDatabase(event.getDatabaseName(),
event.getChangedTableMetaData(), event.getDeletedTable());
+ contextManager.alterDatabase(event.getDatabaseName(),
event.getSchemaName(), event.getChangedTableMetaData(),
event.getDeletedTable());
}
/**
@@ -133,7 +133,7 @@ public final class ClusterContextManagerCoordinator {
*/
@Subscribe
public synchronized void renew(final RuleConfigurationsChangedEvent event)
{
- if
(metaDataPersistService.getDatabaseVersionPersistService().isActiveVersion(event.getDatabaseName(),
event.getSchemaVersion())) {
+ if
(metaDataPersistService.getDatabaseVersionPersistService().isActiveVersion(event.getDatabaseName(),
event.getDatabaseVersion())) {
contextManager.alterRuleConfiguration(event.getDatabaseName(),
event.getRuleConfigurations());
buildSpecialRules();
}
@@ -146,7 +146,7 @@ public final class ClusterContextManagerCoordinator {
*/
@Subscribe
public synchronized void renew(final DataSourceChangedEvent event) {
- if
(metaDataPersistService.getDatabaseVersionPersistService().isActiveVersion(event.getDatabaseName(),
event.getSchemaVersion())) {
+ if
(metaDataPersistService.getDatabaseVersionPersistService().isActiveVersion(event.getDatabaseName(),
event.getDatabaseVersion())) {
contextManager.alterDataSourceConfiguration(event.getDatabaseName(),
event.getDataSourcePropertiesMap());
buildSpecialRules();
}
@@ -159,12 +159,12 @@ public final class ClusterContextManagerCoordinator {
*/
@Subscribe
public synchronized void renew(final DisabledStateChangedEvent event) {
- QualifiedDatabase qualifiedSchema = event.getQualifiedSchema();
-
contextManager.getMetaDataContexts().getMetaDataMap().get(qualifiedSchema.getDatabaseName()).getRuleMetaData().getRules()
+ QualifiedDatabase qualifiedDatabase = event.getQualifiedSchema();
+
contextManager.getMetaDataContexts().getMetaDataMap().get(qualifiedDatabase.getDatabaseName()).getRuleMetaData().getRules()
.stream()
.filter(each -> each instanceof StatusContainedRule)
.forEach(each -> ((StatusContainedRule) each)
- .updateStatus(new
DataSourceNameDisabledEvent(qualifiedSchema, event.isDisabled())));
+ .updateStatus(new
DataSourceNameDisabledEvent(qualifiedDatabase, event.isDisabled())));
}
/**
@@ -174,12 +174,12 @@ public final class ClusterContextManagerCoordinator {
*/
@Subscribe
public synchronized void renew(final PrimaryStateChangedEvent event) {
- QualifiedDatabase qualifiedSchema = event.getQualifiedDatabase();
-
contextManager.getMetaDataContexts().getMetaDataMap().get(qualifiedSchema.getDatabaseName()).getRuleMetaData().getRules()
+ QualifiedDatabase qualifiedDatabase = event.getQualifiedDatabase();
+
contextManager.getMetaDataContexts().getMetaDataMap().get(qualifiedDatabase.getDatabaseName()).getRuleMetaData().getRules()
.stream()
.filter(each -> each instanceof StatusContainedRule)
.forEach(each -> ((StatusContainedRule) each)
- .updateStatus(new
PrimaryDataSourceChangedEvent(qualifiedSchema)));
+ .updateStatus(new
PrimaryDataSourceChangedEvent(qualifiedDatabase)));
}
/**
@@ -266,7 +266,7 @@ public final class ClusterContextManagerCoordinator {
@Subscribe
public synchronized void renew(final SchemaVersionChangedEvent event) {
Map<String, DataSourceProperties> dataSourcePropertiesMap =
metaDataPersistService.getDataSourceService().load(event.getDatabaseName(),
event.getActiveVersion());
- Collection<RuleConfiguration> ruleConfigs =
metaDataPersistService.getSchemaRuleService().load(event.getDatabaseName(),
event.getActiveVersion());
+ Collection<RuleConfiguration> ruleConfigs =
metaDataPersistService.getDatabaseRulePersistService().load(event.getDatabaseName(),
event.getActiveVersion());
contextManager.alterDataSourceAndRuleConfiguration(event.getDatabaseName(),
dataSourcePropertiesMap, ruleConfigs);
}
@@ -308,8 +308,8 @@ public final class ClusterContextManagerCoordinator {
if
(!metaDataPersistService.getDataSourceService().isExisted(databaseName)) {
metaDataPersistService.getDataSourceService().persist(databaseName, new
LinkedHashMap<>());
}
- if
(!metaDataPersistService.getSchemaRuleService().isExisted(databaseName)) {
-
metaDataPersistService.getSchemaRuleService().persist(databaseName, new
LinkedList<>());
+ if
(!metaDataPersistService.getDatabaseRulePersistService().isExisted(databaseName))
{
+
metaDataPersistService.getDatabaseRulePersistService().persist(databaseName,
new LinkedList<>());
}
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceChangedEvent.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceChangedEvent.java
index 0bc1ada9df5..73ac99fd034 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceChangedEvent.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/datasource/DataSourceChangedEvent.java
@@ -33,7 +33,7 @@ public final class DataSourceChangedEvent implements
GovernanceEvent {
private final String databaseName;
- private final String schemaVersion;
+ private final String databaseVersion;
private final Map<String, DataSourceProperties> dataSourcePropertiesMap;
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/rule/RuleConfigurationsChangedEvent.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/rule/RuleConfigurationsChangedEvent.java
index ec1deeee7ed..fc74df70b14 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/rule/RuleConfigurationsChangedEvent.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/registry/config/event/rule/RuleConfigurationsChangedEvent.java
@@ -33,7 +33,7 @@ public final class RuleConfigurationsChangedEvent implements
GovernanceEvent {
private final String databaseName;
- private final String schemaVersion;
+ private final String databaseVersion;
private final Collection<RuleConfiguration> ruleConfigurations;
}
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
index 18b75963f98..cf6c9c3b4c8 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-cluster-mode/shardingsphere-cluster-mode-core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/coordinator/ClusterContextManagerCoordinatorTest.java
@@ -143,7 +143,7 @@ public final class ClusterContextManagerCoordinatorTest {
public void assertDatabaseAdd() throws SQLException {
DatabaseAddedEvent event = new DatabaseAddedEvent("db_add");
when(metaDataPersistService.getDataSourceService().load("db_add")).thenReturn(getDataSourcePropertiesMap());
-
when(metaDataPersistService.getSchemaRuleService().load("db_add")).thenReturn(Collections.emptyList());
+
when(metaDataPersistService.getDatabaseRulePersistService().load("db_add")).thenReturn(Collections.emptyList());
coordinator.renew(event);
assertNotNull(contextManager.getMetaDataContexts().getMetaData("db_add"));
assertNotNull(contextManager.getMetaDataContexts().getMetaData("db_add").getResource().getDataSources());
@@ -180,7 +180,7 @@ public final class ClusterContextManagerCoordinatorTest {
SchemaChangedEvent event = new SchemaChangedEvent("db", "db",
changedTableMetaData, null);
coordinator.renew(event);
assertTrue(contextManager.getMetaDataContexts().getAllDatabaseNames().contains("db"));
-
verify(contextManager.getMetaDataContexts().getMetaData("db").getDefaultSchema()).put(eq("t_order"),
eq(event.getChangedTableMetaData()));
+
verify(contextManager.getMetaDataContexts().getMetaData("db").getSchemaByName("db")).put(eq("t_order"),
eq(event.getChangedTableMetaData()));
}
@Test
@@ -321,7 +321,7 @@ public final class ClusterContextManagerCoordinatorTest {
@Test
public void assertRenewSchemaVersionChangedEvent() {
when(metaDataPersistService.getDataSourceService().load("db",
"1")).thenReturn(getVersionChangedDataSourcePropertiesMap());
- when(metaDataPersistService.getSchemaRuleService().load("db",
"1")).thenReturn(Collections.emptyList());
+ when(metaDataPersistService.getDatabaseRulePersistService().load("db",
"1")).thenReturn(Collections.emptyList());
SchemaVersionChangedEvent schemaVersionChangedEvent = new
SchemaVersionChangedEvent("db", "1");
Map<String, DataSource> dataSourceMap = initContextManager();
coordinator.renew(schemaVersionChangedEvent);
diff --git
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
index 5b16ef5cf41..9bc6d045c7b 100644
---
a/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
+++
b/shardingsphere-mode/shardingsphere-mode-type/shardingsphere-standalone-mode/shardingsphere-standalone-mode-core/src/main/java/org/apache/shardingsphere/mode/manager/standalone/StandaloneContextManagerBuilder.java
@@ -88,7 +88,7 @@ public final class StandaloneContextManagerBuilder implements
ContextManagerBuil
private DatabaseConfiguration createDatabaseConfiguration(final String
databaseName, final MetaDataPersistService metaDataPersistService,
final
ContextManagerBuilderParameter parameter) {
Map<String, DataSource> dataSources =
metaDataPersistService.getEffectiveDataSources(databaseName,
parameter.getDatabaseConfigs());
- Collection<RuleConfiguration> databaseRuleConfigs =
metaDataPersistService.getSchemaRuleService().load(databaseName);
+ Collection<RuleConfiguration> databaseRuleConfigs =
metaDataPersistService.getDatabaseRulePersistService().load(databaseName);
return new DataSourceProvidedDatabaseConfiguration(dataSources,
databaseRuleConfigs);
}
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportDatabaseConfigurationHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportDatabaseConfigurationHandler.java
index ae9832f060a..c45d1be7024 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportDatabaseConfigurationHandler.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/ImportDatabaseConfigurationHandler.java
@@ -141,7 +141,7 @@ public final class ImportDatabaseConfigurationHandler
extends UpdatableRALBacken
shardingSphereMetaData.getRuleMetaData().getConfigurations().addAll(toBeUpdatedRuleConfigs);
ProxyContext.getInstance().getContextManager().renewMetaDataContexts(metaDataContexts);
Optional<MetaDataPersistService> metaDataPersistService =
metaDataContexts.getMetaDataPersistService();
- metaDataPersistService.ifPresent(op ->
op.getSchemaRuleService().persist(databaseName, toBeUpdatedRuleConfigs));
+ metaDataPersistService.ifPresent(op ->
op.getDatabaseRulePersistService().persist(databaseName,
toBeUpdatedRuleConfigs));
}
private void checkDatabaseName(final String databaseName) {
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
index 3aad36cfe9b..4332d871fab 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/rdl/rule/RuleDefinitionBackendHandler.java
@@ -153,14 +153,14 @@ public final class RuleDefinitionBackendHandler<T extends
RuleDefinitionStatemen
if (!newVersion.isPresent()) {
throw new RuntimeException(String.format("Unable to get a new
version for schema: %s", shardingSphereMetaData.getName()));
}
-
metaDataPersistService.get().getSchemaRuleService().persist(shardingSphereMetaData.getName(),
newVersion.get(), buildAlteredRuleConfigurations(shardingSphereMetaData,
sqlStatement,
- updater, currentRuleConfig, preprocessor));
+
metaDataPersistService.get().getDatabaseRulePersistService().persist(shardingSphereMetaData.getName(),
newVersion.get(),
+ buildAlteredRuleConfigurations(shardingSphereMetaData,
sqlStatement, updater, currentRuleConfig, preprocessor));
ShardingSphereEventBus.getInstance().post(new
SchemaVersionPreparedEvent(newVersion.get(), shardingSphereMetaData.getName()));
}
}
private void persistRuleConfigurationChange(final ShardingSphereMetaData
shardingSphereMetaData) {
-
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaDataPersistService().ifPresent(optional
-> optional.getSchemaRuleService().persist(
+
ProxyContext.getInstance().getContextManager().getMetaDataContexts().getMetaDataPersistService().ifPresent(optional
-> optional.getDatabaseRulePersistService().persist(
shardingSphereMetaData.getName(),
shardingSphereMetaData.getRuleMetaData().getConfigurations()));
}