This is an automated email from the ASF dual-hosted git repository.
zhangliang 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 d2b191c4147 Rename ContextManager.reloadSchema (#18908)
d2b191c4147 is described below
commit d2b191c4147a5fb5ac8f134748b59ffecc1ff732
Author: Liang Zhang <[email protected]>
AuthorDate: Wed Jul 6 23:25:17 2022 +0800
Rename ContextManager.reloadSchema (#18908)
---
.../optimizer/context/OptimizerContextTest.java | 40 +++++++++++-----------
.../mode/manager/ContextManager.java | 6 ++--
.../updatable/RefreshTableMetadataHandler.java | 2 +-
3 files changed, 24 insertions(+), 24 deletions(-)
diff --git
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
index ce863a6a43c..daf9958430f 100644
---
a/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
+++
b/shardingsphere-infra/shardingsphere-infra-federation/shardingsphere-infra-federation-optimizer/src/test/java/org/apache/shardingsphere/infra/federation/optimizer/context/OptimizerContextTest.java
@@ -40,37 +40,37 @@ import static org.mockito.Mockito.mock;
public final class OptimizerContextTest {
@Test
- public void assertDropTable() {
+ public void assertAlterTable() {
String databaseName = "foo_db";
String schemaName = "foo_schema";
- String tableName = "t_order";
- ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class),
- null, Collections.singletonMap(schemaName, new
ShardingSphereSchema(Collections.singletonMap(tableName,
mock(ShardingSphereTable.class)))));
+ String tableName = "foo_tbl";
+ String beforeColumnName = "foo_col";
+ String afterColumnName = "bar_col";
+ ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class), null,
+ Collections.singletonMap(schemaName, new
ShardingSphereSchema(Collections.singletonMap(tableName, new
ShardingSphereTable(tableName,
+ Collections.singleton(new
ShardingSphereColumn(beforeColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList())))));
OptimizerContext optimizerContext =
OptimizerContextFactory.create(Collections.singletonMap(databaseName,
database), mock(ShardingSphereRuleMetaData.class));
- OptimizerPlannerContext beforeDroppedPlannerContext =
optimizerContext.getPlannerContexts().get(databaseName);
- optimizerContext.dropTable(databaseName, schemaName, tableName);
- assertThat(beforeDroppedPlannerContext,
not(optimizerContext.getPlannerContexts().get(databaseName)));
- Optional<FederationSchemaMetaData> schemaMetadata =
optimizerContext.getFederationMetaData().getDatabases().get(databaseName).getSchemaMetadata(schemaName);
- assertTrue(schemaMetadata.isPresent());
- assertFalse(schemaMetadata.get().getTables().containsKey(tableName));
+ optimizerContext.alterTable(databaseName, schemaName, new
ShardingSphereTable(tableName,
+ Collections.singleton(new
ShardingSphereColumn(afterColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList()));
+ Optional<FederationSchemaMetaData> federationSchemaMetaData =
optimizerContext.getFederationMetaData().getDatabases().get(databaseName).getSchemaMetadata(schemaName);
+ assertTrue(federationSchemaMetaData.isPresent());
+
assertFalse(federationSchemaMetaData.get().getTables().get(tableName).getColumnNames().contains(beforeColumnName));
+
assertTrue(federationSchemaMetaData.get().getTables().get(tableName).getColumnNames().contains(afterColumnName));
}
@Test
- public void alterTable() {
+ public void assertDropTable() {
String databaseName = "foo_db";
String schemaName = "foo_schema";
- String tableName = "foo_table";
- String beforeColumnName = "foo_col";
- String afterColumnName = "foo_col_new";
+ String tableName = "foo_tbl";
ShardingSphereDatabase database = new
ShardingSphereDatabase(databaseName, new H2DatabaseType(),
mock(ShardingSphereResource.class),
- null, Collections.singletonMap(schemaName, new
ShardingSphereSchema(Collections.singletonMap(tableName, new
ShardingSphereTable(tableName,
- Collections.singletonList(new
ShardingSphereColumn(beforeColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList())))));
+ null, Collections.singletonMap(schemaName, new
ShardingSphereSchema(Collections.singletonMap(tableName,
mock(ShardingSphereTable.class)))));
OptimizerContext optimizerContext =
OptimizerContextFactory.create(Collections.singletonMap(databaseName,
database), mock(ShardingSphereRuleMetaData.class));
- optimizerContext.alterTable(databaseName, schemaName, new
ShardingSphereTable(tableName,
- Collections.singletonList(new
ShardingSphereColumn(afterColumnName, 0, false, false, true)),
Collections.emptyList(), Collections.emptyList()));
+ OptimizerPlannerContext beforeDroppedPlannerContext =
optimizerContext.getPlannerContexts().get(databaseName);
+ optimizerContext.dropTable(databaseName, schemaName, tableName);
+ assertThat(beforeDroppedPlannerContext,
not(optimizerContext.getPlannerContexts().get(databaseName)));
Optional<FederationSchemaMetaData> schemaMetadata =
optimizerContext.getFederationMetaData().getDatabases().get(databaseName).getSchemaMetadata(schemaName);
assertTrue(schemaMetadata.isPresent());
-
assertFalse(schemaMetadata.get().getTables().get(tableName).getColumnNames().contains(beforeColumnName));
-
assertTrue(schemaMetadata.get().getTables().get(tableName).getColumnNames().contains(afterColumnName));
+ assertFalse(schemaMetadata.get().getTables().containsKey(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 29022149c1f..a3ca5c9f245 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
@@ -386,13 +386,13 @@ public final class ContextManager implements
AutoCloseable {
}
/**
- * Reload table meta data.
+ * Reload schema.
*
* @param databaseName database name
- * @param schemaName schema name
+ * @param schemaName to be reloaded schema name
* @param dataSourceName data source name
*/
- public synchronized void reloadSchemaMetaData(final String databaseName,
final String schemaName, final String dataSourceName) {
+ public synchronized void reloadSchema(final String databaseName, final
String schemaName, final String dataSourceName) {
try {
ShardingSphereDatabase database =
metaDataContexts.getMetaData().getDatabases().get(databaseName);
database.reloadRules(instanceContext);
diff --git
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/RefreshTableMetadataHandler.java
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/RefreshTableMetadataHandler.java
index 35b86149ef7..1f31cbfc0eb 100644
---
a/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/RefreshTableMetadataHandler.java
+++
b/shardingsphere-proxy/shardingsphere-proxy-backend/src/main/java/org/apache/shardingsphere/proxy/backend/text/distsql/ral/common/updatable/RefreshTableMetadataHandler.java
@@ -40,7 +40,7 @@ public final class RefreshTableMetadataHandler extends
UpdatableRALBackendHandle
if (getSqlStatement().getTableName().isPresent()) {
contextManager.reloadTableMetaData(databaseName, schemaName,
getSqlStatement().getResourceName().get(),
getSqlStatement().getTableName().get());
} else {
- contextManager.reloadSchemaMetaData(databaseName, schemaName,
getSqlStatement().getResourceName().get());
+ contextManager.reloadSchema(databaseName, schemaName,
getSqlStatement().getResourceName().get());
}
return;
}