You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by zh...@apache.org on 2025/01/22 16:48:23 UTC
(shardingsphere) branch master updated: Rename DatabaseStatistics, SchemaStatistics and TableStatistics (#34434)
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 0b1ab343c7e Rename DatabaseStatistics, SchemaStatistics and TableStatistics (#34434)
0b1ab343c7e is described below
commit 0b1ab343c7edd527c538d9f6d8e8d3a7bf65a45d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu Jan 23 00:48:17 2025 +0800
Rename DatabaseStatistics, SchemaStatistics and TableStatistics (#34434)
* Rename DatabaseStatistics
* Rename SchemaStatistics
* Rename TableStatistics
* Rename RowStatistics
---
.../data/ShardingStatisticsTableCollector.java | 16 ++--
.../data/ShardingStatisticsTableCollectorTest.java | 10 +--
.../MySQLShardingStatisticsTableCollectorTest.java | 8 +-
...nGaussShardingStatisticsTableCollectorTest.java | 12 +--
...greSQLShardingStatisticsTableCollectorTest.java | 8 +-
...reDatabaseData.java => DatabaseStatistics.java} | 36 ++++-----
...ardingSphereRowData.java => RowStatistics.java} | 6 +-
...SphereSchemaData.java => SchemaStatistics.java} | 36 ++++-----
.../statistics/ShardingSphereStatistics.java | 32 ++++----
...ngSphereTableData.java => TableStatistics.java} | 6 +-
.../builder/DialectStatisticsAppender.java | 8 +-
.../ShardingSphereDefaultStatisticsBuilder.java | 36 ++++-----
.../builder/ShardingSphereStatisticsFactory.java | 51 ++++++------
.../dialect/PostgreSQLStatisticsAppender.java | 20 ++---
.../ShardingSphereStatisticsCollector.java | 8 +-
.../collector/tables/PgClassTableCollector.java | 14 ++--
.../tables/PgNamespaceTableCollector.java | 10 +--
...=> YamlShardingSphereRowStatisticsSwapper.java} | 12 +--
... YamlShardingSphereTableStatisticsSwapper.java} | 16 ++--
...seDataTest.java => DatabaseStatisticsTest.java} | 30 +++----
.../metadata/statistics/SchemaStatisticsTest.java | 73 +++++++++++++++++
.../statistics/ShardingSphereSchemaDataTest.java | 73 -----------------
.../statistics/ShardingSphereStatisticsTest.java | 53 ++++++------
...ShardingSphereDefaultStatisticsBuilderTest.java | 10 +--
.../dialect/PostgreSQLStatisticsAppenderTest.java | 10 +--
.../enumerable/EnumerableScanExecutor.java | 14 ++--
.../executor/enumerator/MemoryRowEnumerator.java | 8 +-
.../executor/utils/StatisticsAssembleUtils.java | 24 +++---
.../enumerable/EnumerableScanExecutorTest.java | 22 ++---
.../mode/metadata/MetaDataContextManager.java | 2 +-
.../mode/metadata/MetaDataContexts.java | 2 +-
.../metadata/factory/MetaDataContextsFactory.java | 4 +-
.../factory/init/MetaDataContextsInitFactory.java | 2 +-
...alConfigurationMetaDataContextsInitFactory.java | 12 +--
.../manager/ShardingSphereDatabaseDataManager.java | 75 ++++++++---------
.../metadata/persist/MetaDataPersistService.java | 6 +-
...=> ShardingSphereStatisticsPersistService.java} | 42 +++++-----
.../metadata/table/TableRowDataPersistService.java | 14 ++--
.../ShardingSphereStatisticsRefreshEngine.java | 94 +++++++++++-----------
.../mode/fixture/StatisticsCollectorFixture.java | 12 +--
...hardingSphereStatisticsPersistServiceTest.java} | 30 +++----
.../table/TableRowDataPersistServiceTest.java | 6 +-
.../ShardingSphereStatisticsRefreshEngineTest.java | 20 ++---
.../ShardingSphereStatisticsChangedHandler.java | 12 +--
.../ClusterMetaDataManagerPersistService.java | 12 +--
...ShardingSphereStatisticsChangedHandlerTest.java | 18 ++---
.../pipeline/core/util/PipelineContextUtils.java | 2 +-
47 files changed, 514 insertions(+), 513 deletions(-)
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollector.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollector.java
index 2165b336f63..c870c59a781 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollector.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollector.java
@@ -27,8 +27,8 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.rule.attribute.datasource.aggregate.AggregatedDataSourceRuleAttribute;
import org.apache.shardingsphere.sharding.metadata.data.dialect.DialectShardingStatisticsTableCollector;
@@ -52,8 +52,8 @@ public final class ShardingStatisticsTableCollector implements ShardingSphereSta
private static final String SHARDING_TABLE_STATISTICS = "sharding_table_statistics";
@Override
- public Optional<ShardingSphereTableData> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
- ShardingSphereTableData result = new ShardingSphereTableData(SHARDING_TABLE_STATISTICS);
+ public Optional<TableStatistics> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
+ TableStatistics result = new TableStatistics(SHARDING_TABLE_STATISTICS);
DatabaseType protocolType = metaData.getAllDatabases().iterator().next().getProtocolType();
DialectDatabaseMetaData dialectDatabaseMetaData = new DatabaseTypeRegistry(protocolType).getDialectDatabaseMetaData();
if (dialectDatabaseMetaData.getDefaultSchema().isPresent()) {
@@ -66,15 +66,15 @@ public final class ShardingStatisticsTableCollector implements ShardingSphereSta
return result.getRows().isEmpty() ? Optional.empty() : Optional.of(result);
}
- private void collectFromDatabase(final ShardingSphereDatabase database, final ShardingSphereTableData tableData) throws SQLException {
+ private void collectFromDatabase(final ShardingSphereDatabase database, final TableStatistics tableStatistics) throws SQLException {
Optional<ShardingRule> rule = database.getRuleMetaData().findSingleRule(ShardingRule.class);
if (!rule.isPresent()) {
return;
}
- collectForShardingStatisticTable(database, rule.get(), tableData);
+ collectForShardingStatisticTable(database, rule.get(), tableStatistics);
}
- private void collectForShardingStatisticTable(final ShardingSphereDatabase database, final ShardingRule rule, final ShardingSphereTableData tableData) throws SQLException {
+ private void collectForShardingStatisticTable(final ShardingSphereDatabase database, final ShardingRule rule, final TableStatistics tableStatistics) throws SQLException {
int count = 1;
for (ShardingTable each : rule.getShardingTables().values()) {
for (DataNode dataNode : each.getActualDataNodes()) {
@@ -85,7 +85,7 @@ public final class ShardingStatisticsTableCollector implements ShardingSphereSta
row.add(dataNode.getDataSourceName());
row.add(dataNode.getTableName());
addTableRowsAndDataLength(database.getResourceMetaData().getStorageUnits(), dataNode, row, rule);
- tableData.getRows().add(new ShardingSphereRowData(row));
+ tableStatistics.getRows().add(new RowStatistics(row));
}
}
}
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollectorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollectorTest.java
index 0d176b9e76f..e625d89e233 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollectorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/ShardingStatisticsTableCollectorTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaDa
import org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -71,7 +71,7 @@ class ShardingStatisticsTableCollectorTest {
when(database.getProtocolType()).thenReturn(databaseType);
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
Collections.singleton(database), mock(ResourceMetaData.class), mock(RuleMetaData.class), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertFalse(actual.isPresent());
}
@@ -85,10 +85,10 @@ class ShardingStatisticsTableCollectorTest {
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new ResourceMetaData(Collections.emptyMap(), storageUnits), new RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertTrue(actual.isPresent());
assertThat(actual.get().getName(), is("sharding_table_statistics"));
- List<ShardingSphereRowData> actualRows = new ArrayList<>(actual.get().getRows());
+ List<RowStatistics> actualRows = new ArrayList<>(actual.get().getRows());
assertThat(actualRows.size(), is(2));
assertThat(actualRows.get(0).getRows(), is(Arrays.asList(1, "foo_db", "foo_tbl", "ds_0", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
assertThat(actualRows.get(1).getRows(), is(Arrays.asList(2, "foo_db", "foo_tbl", "ds_1", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/MySQLShardingStatisticsTableCollectorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/MySQLShardingStatisticsTableCollectorTest.java
index 1db191df427..95468ff578e 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/MySQLShardingStatisticsTableCollectorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/MySQLShardingStatisticsTableCollectorTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaDa
import org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -76,10 +76,10 @@ class MySQLShardingStatisticsTableCollectorTest {
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new ResourceMetaData(Collections.emptyMap(), storageUnits), new RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertTrue(actual.isPresent());
assertThat(actual.get().getName(), is("sharding_table_statistics"));
- List<ShardingSphereRowData> actualRows = new ArrayList<>(actual.get().getRows());
+ List<RowStatistics> actualRows = new ArrayList<>(actual.get().getRows());
assertThat(actualRows.size(), is(2));
assertThat(actualRows.get(0).getRows(), is(Arrays.asList(2, "foo_db", "foo_tbl", "ds_1", "foo_tbl", new BigDecimal("10"), new BigDecimal("100"))));
assertThat(actualRows.get(1).getRows(), is(Arrays.asList(1, "foo_db", "foo_tbl", "ds_0", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/OpenGaussShardingStatisticsTableCollectorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/OpenGaussShardingStatisticsTableCollectorTest.java
index 906e88112dc..e4435688b75 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/OpenGaussShardingStatisticsTableCollectorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/OpenGaussShardingStatisticsTableCollectorTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaDa
import org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -77,10 +77,10 @@ class OpenGaussShardingStatisticsTableCollectorTest {
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new ResourceMetaData(Collections.emptyMap(), storageUnits), new RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertTrue(actual.isPresent());
assertThat(actual.get().getName(), is("sharding_table_statistics"));
- List<ShardingSphereRowData> actualRows = new ArrayList<>(actual.get().getRows());
+ List<RowStatistics> actualRows = new ArrayList<>(actual.get().getRows());
assertThat(actualRows.size(), is(2));
assertThat(actualRows.get(0).getRows(), is(Arrays.asList(1, "foo_db", "foo_tbl", "ds_0", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
assertThat(actualRows.get(1).getRows(), is(Arrays.asList(2, "foo_db", "foo_tbl", "ds_1", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
@@ -96,10 +96,10 @@ class OpenGaussShardingStatisticsTableCollectorTest {
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new ResourceMetaData(Collections.emptyMap(), storageUnits), new RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertTrue(actual.isPresent());
assertThat(actual.get().getName(), is("sharding_table_statistics"));
- List<ShardingSphereRowData> actualRows = new ArrayList<>(actual.get().getRows());
+ List<RowStatistics> actualRows = new ArrayList<>(actual.get().getRows());
assertThat(actualRows.size(), is(2));
assertThat(actualRows.get(0).getRows(), is(Arrays.asList(2, "foo_db", "foo_tbl", "ds_1", "foo_tbl", new BigDecimal("10"), new BigDecimal("100"))));
assertThat(actualRows.get(1).getRows(), is(Arrays.asList(1, "foo_db", "foo_tbl", "ds_0", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
diff --git a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/PostgreSQLShardingStatisticsTableCollectorTest.java b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/PostgreSQLShardingStatisticsTableCollectorTest.java
index aa1cfccdb46..bc37197ca89 100644
--- a/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/PostgreSQLShardingStatisticsTableCollectorTest.java
+++ b/features/sharding/core/src/test/java/org/apache/shardingsphere/sharding/metadata/data/dialect/type/PostgreSQLShardingStatisticsTableCollectorTest.java
@@ -25,8 +25,8 @@ import org.apache.shardingsphere.infra.metadata.database.resource.ResourceMetaDa
import org.apache.shardingsphere.infra.metadata.database.resource.unit.StorageUnit;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sharding.rule.ShardingRule;
@@ -76,10 +76,10 @@ class PostgreSQLShardingStatisticsTableCollectorTest {
ShardingSphereDatabase database = new ShardingSphereDatabase(
"foo_db", databaseType, new ResourceMetaData(Collections.emptyMap(), storageUnits), new RuleMetaData(Collections.singleton(rule)), Collections.emptyList());
ShardingSphereMetaData metaData = new ShardingSphereMetaData(Collections.singleton(database), mock(), mock(), new ConfigurationProperties(new Properties()));
- Optional<ShardingSphereTableData> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
+ Optional<TableStatistics> actual = statisticsCollector.collect("foo_db", mock(ShardingSphereTable.class), metaData);
assertTrue(actual.isPresent());
assertThat(actual.get().getName(), is("sharding_table_statistics"));
- List<ShardingSphereRowData> actualRows = new ArrayList<>(actual.get().getRows());
+ List<RowStatistics> actualRows = new ArrayList<>(actual.get().getRows());
assertThat(actualRows.size(), is(2));
assertThat(actualRows.get(0).getRows(), is(Arrays.asList(2, "foo_db", "foo_tbl", "ds_1", "foo_tbl", new BigDecimal("10"), new BigDecimal("100"))));
assertThat(actualRows.get(1).getRows(), is(Arrays.asList(1, "foo_db", "foo_tbl", "ds_0", "foo_tbl", new BigDecimal("0"), new BigDecimal("0"))));
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseData.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatistics.java
similarity index 56%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseData.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatistics.java
index 19cdb2cf2f4..06cb5c9267b 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseData.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatistics.java
@@ -23,49 +23,49 @@ import lombok.Getter;
import java.util.Map;
/**
- * ShardingSphere database data.
+ * Database statistics.
*/
@Getter
-public final class ShardingSphereDatabaseData {
+public final class DatabaseStatistics {
- private final Map<String, ShardingSphereSchemaData> schemaData = new CaseInsensitiveMap<>();
+ private final Map<String, SchemaStatistics> schemaStatisticsMap = new CaseInsensitiveMap<>();
/**
- * Judge whether to contains schema.
+ * Judge whether to contains schema statistics.
*
* @param schemaName schema name
- * @return contains schema or not
+ * @return contains schema statistics or not
*/
- public boolean containsSchema(final String schemaName) {
- return schemaData.containsKey(schemaName);
+ public boolean containsSchemaStatistics(final String schemaName) {
+ return schemaStatisticsMap.containsKey(schemaName);
}
/**
- * Get ShardingSphere schema data.
+ * Get schema statistics.
*
* @param schemaName schema name
- * @return schema data
+ * @return schema statistics
*/
- public ShardingSphereSchemaData getSchema(final String schemaName) {
- return schemaData.get(schemaName);
+ public SchemaStatistics getSchemaStatistics(final String schemaName) {
+ return schemaStatisticsMap.get(schemaName);
}
/**
- * Put schema data.
+ * Put schema statistics.
*
* @param schemaName schema name
- * @param schema schema data
+ * @param schemaStatistics schema statistics
*/
- public void putSchema(final String schemaName, final ShardingSphereSchemaData schema) {
- schemaData.put(schemaName, schema);
+ public void putSchemaStatistics(final String schemaName, final SchemaStatistics schemaStatistics) {
+ schemaStatisticsMap.put(schemaName, schemaStatistics);
}
/**
- * Remove schema data.
+ * Remove schema statistics.
*
* @param schemaName schema name
*/
- public void removeSchema(final String schemaName) {
- schemaData.remove(schemaName);
+ public void removeSchemaStatistics(final String schemaName) {
+ schemaStatisticsMap.remove(schemaName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereRowData.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/RowStatistics.java
similarity index 94%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereRowData.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/RowStatistics.java
index 0cb68e367fc..d879a8a9297 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereRowData.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/RowStatistics.java
@@ -28,19 +28,19 @@ import java.security.MessageDigest;
import java.util.List;
/**
- * ShardingSphere row data.
+ * Row statistics.
*/
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
-public final class ShardingSphereRowData {
+public final class RowStatistics {
@EqualsAndHashCode.Include
private final String uniqueKey;
private final List<Object> rows;
- public ShardingSphereRowData(final List<Object> rows) {
+ public RowStatistics(final List<Object> rows) {
uniqueKey = generateUniqueKey(rows);
this.rows = rows;
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaData.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatistics.java
similarity index 56%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaData.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatistics.java
index 848dd8efe93..689911550a7 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaData.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatistics.java
@@ -23,49 +23,49 @@ import lombok.Getter;
import java.util.Map;
/**
- * ShardingSphere schema data.
+ * Schema statistics.
*/
@Getter
-public final class ShardingSphereSchemaData {
+public final class SchemaStatistics {
- private final Map<String, ShardingSphereTableData> tableData = new CaseInsensitiveMap<>();
+ private final Map<String, TableStatistics> tableStatisticsMap = new CaseInsensitiveMap<>();
/**
- * Get ShardingSphere table meta data via table name.
+ * Get table statistics.
*
* @param tableName tableName table name
- * @return ShardingSphere table data
+ * @return table statistics
*/
- public ShardingSphereTableData getTable(final String tableName) {
- return tableData.get(tableName);
+ public TableStatistics getTableStatistics(final String tableName) {
+ return tableStatisticsMap.get(tableName);
}
/**
- * Add ShardingSphere table data.
+ * Add table statistics.
*
* @param tableName table name
- * @param table ShardingSphere table data
+ * @param tableStatistics table statistics
*/
- public void putTable(final String tableName, final ShardingSphereTableData table) {
- tableData.put(tableName, table);
+ public void putTableStatistics(final String tableName, final TableStatistics tableStatistics) {
+ tableStatisticsMap.put(tableName, tableStatistics);
}
/**
- * Remove ShardingSphere table meta data.
+ * Remove table statistics.
*
* @param tableName table name
*/
- public void removeTable(final String tableName) {
- tableData.remove(tableName);
+ public void removeTableStatistics(final String tableName) {
+ tableStatisticsMap.remove(tableName);
}
/**
- * Judge contains ShardingSphere table from table metadata or not.
+ * Judge whether contains table statistics.
*
* @param tableName table name
- * @return contains ShardingSphere table from table metadata or not
+ * @return contains table statistics or not
*/
- public boolean containsTable(final String tableName) {
- return tableData.containsKey(tableName);
+ public boolean containsTableStatistics(final String tableName) {
+ return tableStatisticsMap.containsKey(tableName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatistics.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatistics.java
index 1e269c2539e..6ed2de4cfe6 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatistics.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatistics.java
@@ -28,44 +28,44 @@ import java.util.Map;
@Getter
public final class ShardingSphereStatistics {
- private final Map<String, ShardingSphereDatabaseData> databaseData = new CaseInsensitiveMap<>();
+ private final Map<String, DatabaseStatistics> databaseStatisticsMap = new CaseInsensitiveMap<>();
/**
- * Get ShardingSphere database.
+ * Get database statistics.
*
* @param databaseName database name
- * @return ShardingSphere database data
+ * @return database statistics
*/
- public ShardingSphereDatabaseData getDatabase(final String databaseName) {
- return databaseData.get(databaseName);
+ public DatabaseStatistics getDatabaseStatistics(final String databaseName) {
+ return databaseStatisticsMap.get(databaseName);
}
/**
- * Put ShardingSphere database.
+ * Put database statistics.
*
* @param databaseName database name
- * @param database ShardingSphere database
+ * @param databaseStatistics database statistics
*/
- public void putDatabase(final String databaseName, final ShardingSphereDatabaseData database) {
- databaseData.put(databaseName, database);
+ public void putDatabaseStatistics(final String databaseName, final DatabaseStatistics databaseStatistics) {
+ databaseStatisticsMap.put(databaseName, databaseStatistics);
}
/**
- * Drop ShardingSphere database.
+ * Drop database statistics.
*
* @param databaseName database name
*/
- public void dropDatabase(final String databaseName) {
- databaseData.remove(databaseName);
+ public void dropDatabaseStatistics(final String databaseName) {
+ databaseStatisticsMap.remove(databaseName);
}
/**
- * Judge contains ShardingSphere database from meta data or not.
+ * Judge whether contains database statistics.
*
* @param databaseName database name
- * @return contains ShardingSphere database from meta data or not
+ * @return contains database statistics or not
*/
- public boolean containsDatabase(final String databaseName) {
- return databaseData.containsKey(databaseName);
+ public boolean containsDatabaseStatistics(final String databaseName) {
+ return databaseStatisticsMap.containsKey(databaseName);
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereTableData.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/TableStatistics.java
similarity index 84%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereTableData.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/TableStatistics.java
index ab92dcfd098..629035fa1f6 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereTableData.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/TableStatistics.java
@@ -26,14 +26,14 @@ import java.util.Comparator;
import java.util.TreeSet;
/**
- * ShardingSphere table data.
+ * Table statistics.
*/
@RequiredArgsConstructor
@Getter
@EqualsAndHashCode
-public final class ShardingSphereTableData {
+public final class TableStatistics {
private final String name;
- private final Collection<ShardingSphereRowData> rows = new TreeSet<>(Comparator.comparing(ShardingSphereRowData::getUniqueKey));
+ private final Collection<RowStatistics> rows = new TreeSet<>(Comparator.comparing(RowStatistics::getUniqueKey));
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/DialectStatisticsAppender.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/DialectStatisticsAppender.java
index b67029b39d0..a729bb14dc0 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/DialectStatisticsAppender.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/DialectStatisticsAppender.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.metadata.statistics.builder;
import org.apache.shardingsphere.infra.database.core.spi.DatabaseTypedSPI;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
/**
@@ -29,10 +29,10 @@ import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
public interface DialectStatisticsAppender extends DatabaseTypedSPI {
/**
- * Append database data.
+ * Append database statistics.
*
- * @param databaseData to be appended database data
+ * @param databaseStatistics to be appended database statistics
* @param database database
*/
- void append(ShardingSphereDatabaseData databaseData, ShardingSphereDatabase database);
+ void append(DatabaseStatistics databaseStatistics, ShardingSphereDatabase database);
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilder.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilder.java
index 84b3ea070c2..4a0a7924b7d 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilder.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilder.java
@@ -19,10 +19,10 @@ package org.apache.shardingsphere.infra.metadata.statistics.builder;
import org.apache.shardingsphere.infra.autogen.version.ShardingSphereVersion;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import java.util.Collections;
@@ -38,29 +38,29 @@ public final class ShardingSphereDefaultStatisticsBuilder {
private static final String SHARDING_TABLE_STATISTICS = "sharding_table_statistics";
/**
- * Build default statistics data.
+ * Build default database statistics.
*
* @param database database
- * @return built statistics data
+ * @return built database statistics
*/
- public ShardingSphereDatabaseData build(final ShardingSphereDatabase database) {
- ShardingSphereDatabaseData result = new ShardingSphereDatabaseData();
+ public DatabaseStatistics build(final ShardingSphereDatabase database) {
+ DatabaseStatistics result = new DatabaseStatistics();
if (database.containsSchema(SHARDINGSPHERE)) {
- ShardingSphereSchemaData schemaData = new ShardingSphereSchemaData();
- buildClusterInformationTable(schemaData);
- buildShardingTableStatisticsTable(schemaData);
- result.putSchema(SHARDINGSPHERE, schemaData);
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ buildClusterInformationTable(schemaStatistics);
+ buildShardingTableStatisticsTable(schemaStatistics);
+ result.putSchemaStatistics(SHARDINGSPHERE, schemaStatistics);
}
return result;
}
- private void buildClusterInformationTable(final ShardingSphereSchemaData schemaData) {
- ShardingSphereTableData tableData = new ShardingSphereTableData(CLUSTER_INFORMATION);
- tableData.getRows().add(new ShardingSphereRowData(Collections.singletonList(ShardingSphereVersion.VERSION)));
- schemaData.putTable(CLUSTER_INFORMATION, tableData);
+ private void buildClusterInformationTable(final SchemaStatistics schemaStatistics) {
+ TableStatistics tableStatistics = new TableStatistics(CLUSTER_INFORMATION);
+ tableStatistics.getRows().add(new RowStatistics(Collections.singletonList(ShardingSphereVersion.VERSION)));
+ schemaStatistics.putTableStatistics(CLUSTER_INFORMATION, tableStatistics);
}
- private void buildShardingTableStatisticsTable(final ShardingSphereSchemaData schemaData) {
- schemaData.putTable(SHARDING_TABLE_STATISTICS, new ShardingSphereTableData(SHARDING_TABLE_STATISTICS));
+ private void buildShardingTableStatisticsTable(final SchemaStatistics schemaStatistics) {
+ schemaStatistics.putTableStatistics(SHARDING_TABLE_STATISTICS, new TableStatistics(SHARDING_TABLE_STATISTICS));
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
index 2af23738353..7e30cabf124 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereStatisticsFactory.java
@@ -26,10 +26,10 @@ import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.database.core.type.DatabaseTypeRegistry;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import java.util.Collection;
@@ -56,16 +56,17 @@ public final class ShardingSphereStatisticsFactory {
return result;
}
Optional<DialectStatisticsAppender> dialectStatisticsAppender = DatabaseTypedSPILoader.findService(DialectStatisticsAppender.class, getDatabaseType(metaData));
- Collection<ShardingSphereDatabase> unloadedDatabases = metaData.getAllDatabases().stream().filter(each -> !loadedStatistics.containsDatabase(each.getName())).collect(Collectors.toList());
+ Collection<ShardingSphereDatabase> unloadedDatabases = metaData.getAllDatabases().stream()
+ .filter(each -> !loadedStatistics.containsDatabaseStatistics(each.getName())).collect(Collectors.toList());
for (ShardingSphereDatabase each : unloadedDatabases) {
- ShardingSphereDatabaseData databaseData = new ShardingSphereDatabaseData();
- dialectStatisticsAppender.ifPresent(optional -> optional.append(databaseData, each));
- if (!databaseData.getSchemaData().isEmpty()) {
- result.putDatabase(each.getName(), databaseData);
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ dialectStatisticsAppender.ifPresent(optional -> optional.append(databaseStatistics, each));
+ if (!databaseStatistics.getSchemaStatisticsMap().isEmpty()) {
+ result.putDatabaseStatistics(each.getName(), databaseStatistics);
}
}
- loadedStatistics.getDatabaseData().forEach(result::putDatabase);
- fillDefaultShardingSphereStatistics(metaData, result);
+ loadedStatistics.getDatabaseStatisticsMap().forEach(result::putDatabaseStatistics);
+ fillDefaultStatistics(metaData, result);
return result;
}
@@ -76,35 +77,35 @@ public final class ShardingSphereStatisticsFactory {
return dialectDatabaseMetaData.getDefaultSchema().isPresent() ? TypedSPILoader.getService(DatabaseType.class, "PostgreSQL") : protocolType;
}
- private static void fillDefaultShardingSphereStatistics(final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
+ private static void fillDefaultStatistics(final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
for (ShardingSphereDatabase database : metaData.getAllDatabases()) {
- ShardingSphereDatabaseData defaultDatabaseData = new ShardingSphereDefaultStatisticsBuilder().build(database);
- Collection<String> defaultSchemaNames = new CaseInsensitiveSet<>(defaultDatabaseData.getSchemaData().keySet());
+ DatabaseStatistics defaultDatabaseStatistics = new ShardingSphereDefaultStatisticsBuilder().build(database);
+ Collection<String> defaultSchemaNames = new CaseInsensitiveSet<>(defaultDatabaseStatistics.getSchemaStatisticsMap().keySet());
if (database.getAllSchemas().stream().noneMatch(optional -> defaultSchemaNames.contains(optional.getName()))) {
continue;
}
- if (!statistics.containsDatabase(database.getName())) {
- statistics.putDatabase(database.getName(), defaultDatabaseData);
+ if (!statistics.containsDatabaseStatistics(database.getName())) {
+ statistics.putDatabaseStatistics(database.getName(), defaultDatabaseStatistics);
continue;
}
- fillDefaultShardingSphereStatistics(defaultDatabaseData, statistics.getDatabase(database.getName()));
+ fillDefaultStatistics(defaultDatabaseStatistics, statistics.getDatabaseStatistics(database.getName()));
}
}
- private static void fillDefaultShardingSphereStatistics(final ShardingSphereDatabaseData defaultDatabaseData, final ShardingSphereDatabaseData existedDatabaseData) {
- for (Entry<String, ShardingSphereSchemaData> entry : defaultDatabaseData.getSchemaData().entrySet()) {
- if (!existedDatabaseData.containsSchema(entry.getKey())) {
- existedDatabaseData.putSchema(entry.getKey(), entry.getValue());
+ private static void fillDefaultStatistics(final DatabaseStatistics defaultDatabaseStatistics, final DatabaseStatistics existedDatabaseStatistics) {
+ for (Entry<String, SchemaStatistics> entry : defaultDatabaseStatistics.getSchemaStatisticsMap().entrySet()) {
+ if (!existedDatabaseStatistics.containsSchemaStatistics(entry.getKey())) {
+ existedDatabaseStatistics.putSchemaStatistics(entry.getKey(), entry.getValue());
continue;
}
- fillDefaultShardingSphereStatistics(entry.getValue(), existedDatabaseData.getSchema(entry.getKey()));
+ fillDefaultStatistics(entry.getValue(), existedDatabaseStatistics.getSchemaStatistics(entry.getKey()));
}
}
- private static void fillDefaultShardingSphereStatistics(final ShardingSphereSchemaData defaultSchemaData, final ShardingSphereSchemaData existedSchemaData) {
- for (Entry<String, ShardingSphereTableData> entry : defaultSchemaData.getTableData().entrySet()) {
- if (!existedSchemaData.containsTable(entry.getKey())) {
- existedSchemaData.putTable(entry.getKey(), entry.getValue());
+ private static void fillDefaultStatistics(final SchemaStatistics defaultSchemaStatistics, final SchemaStatistics existedSchemaStatistics) {
+ for (Entry<String, TableStatistics> entry : defaultSchemaStatistics.getTableStatisticsMap().entrySet()) {
+ if (!existedSchemaStatistics.containsTableStatistics(entry.getKey())) {
+ existedSchemaStatistics.putTableStatistics(entry.getKey(), entry.getValue());
}
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppender.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppender.java
index 333015baa82..258dee64bc0 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppender.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppender.java
@@ -20,9 +20,9 @@ package org.apache.shardingsphere.infra.metadata.statistics.builder.dialect;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.builder.DialectStatisticsAppender;
import java.util.Arrays;
@@ -43,20 +43,20 @@ public final class PostgreSQLStatisticsAppender implements DialectStatisticsAppe
}
@Override
- public void append(final ShardingSphereDatabaseData databaseData, final ShardingSphereDatabase database) {
+ public void append(final DatabaseStatistics databaseStatistics, final ShardingSphereDatabase database) {
for (Entry<String, Collection<String>> entry : INIT_DATA_SCHEMA_TABLES.entrySet()) {
- ShardingSphereSchemaData schemaData = new ShardingSphereSchemaData();
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
if (null != database.getSchema(entry.getKey())) {
- initTables(database.getSchema(entry.getKey()), entry.getValue(), schemaData);
- databaseData.putSchema(entry.getKey(), schemaData);
+ initTables(database.getSchema(entry.getKey()), entry.getValue(), schemaStatistics);
+ databaseStatistics.putSchemaStatistics(entry.getKey(), schemaStatistics);
}
}
}
- private void initTables(final ShardingSphereSchema schema, final Collection<String> tables, final ShardingSphereSchemaData schemaData) {
+ private void initTables(final ShardingSphereSchema schema, final Collection<String> tableNames, final SchemaStatistics schemaStatistics) {
for (ShardingSphereTable each : schema.getAllTables()) {
- if (tables.contains(each.getName().toLowerCase())) {
- schemaData.putTable(each.getName().toLowerCase(), new ShardingSphereTableData(each.getName()));
+ if (tableNames.contains(each.getName().toLowerCase())) {
+ schemaStatistics.putTableStatistics(each.getName().toLowerCase(), new TableStatistics(each.getName()));
}
}
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/ShardingSphereStatisticsCollector.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/ShardingSphereStatisticsCollector.java
index cfa715791fb..bda89ca21ce 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/ShardingSphereStatisticsCollector.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/ShardingSphereStatisticsCollector.java
@@ -19,7 +19,7 @@ package org.apache.shardingsphere.infra.metadata.statistics.collector;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.spi.annotation.SingletonSPI;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPI;
@@ -37,9 +37,9 @@ public interface ShardingSphereStatisticsCollector extends TypedSPI {
*
* @param databaseName database name
* @param table table
- * @param metaData ShardingSphere meta data
- * @return ShardingSphere table data
+ * @param metaData meta data
+ * @return table statistics
* @throws SQLException SQL exception
*/
- Optional<ShardingSphereTableData> collect(String databaseName, ShardingSphereTable table, ShardingSphereMetaData metaData) throws SQLException;
+ Optional<TableStatistics> collect(String databaseName, ShardingSphereTable table, ShardingSphereMetaData metaData) throws SQLException;
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgClassTableCollector.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgClassTableCollector.java
index d5e33bf3aaa..455e60e899b 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgClassTableCollector.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgClassTableCollector.java
@@ -21,8 +21,8 @@ import com.cedarsoftware.util.CaseInsensitiveMap;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereTableDataCollectorUtils;
@@ -44,8 +44,8 @@ public final class PgClassTableCollector implements ShardingSphereStatisticsColl
private static final Long PUBLIC_SCHEMA_OID = 0L;
@Override
- public Optional<ShardingSphereTableData> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
- ShardingSphereTableData result = new ShardingSphereTableData(PG_CLASS);
+ public Optional<TableStatistics> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
+ TableStatistics result = new TableStatistics(PG_CLASS);
ShardingSphereSchema publicSchema = metaData.getDatabase(databaseName).getSchema(PUBLIC_SCHEMA);
if (null != publicSchema) {
result.getRows().addAll(collectForSchema(0L, PUBLIC_SCHEMA_OID, publicSchema, table));
@@ -53,15 +53,15 @@ public final class PgClassTableCollector implements ShardingSphereStatisticsColl
return Optional.of(result);
}
- private Collection<ShardingSphereRowData> collectForSchema(final Long oid, final Long relNamespace, final ShardingSphereSchema schema, final ShardingSphereTable table) {
- Collection<ShardingSphereRowData> result = new LinkedList<>();
+ private Collection<RowStatistics> collectForSchema(final Long oid, final Long relNamespace, final ShardingSphereSchema schema, final ShardingSphereTable table) {
+ Collection<RowStatistics> result = new LinkedList<>();
for (ShardingSphereTable each : schema.getAllTables()) {
Map<String, Object> columnValues = new CaseInsensitiveMap<>(4, 1F);
columnValues.put("oid", oid);
columnValues.put("relnamespace", relNamespace);
columnValues.put("relname", each.getName());
columnValues.put("relkind", "r");
- result.add(new ShardingSphereRowData(ShardingSphereTableDataCollectorUtils.createRowValue(columnValues, table)));
+ result.add(new RowStatistics(ShardingSphereTableDataCollectorUtils.createRowValue(columnValues, table)));
}
return result;
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgNamespaceTableCollector.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgNamespaceTableCollector.java
index fb00fd536a0..0789e6feb55 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgNamespaceTableCollector.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/metadata/statistics/collector/tables/PgNamespaceTableCollector.java
@@ -21,8 +21,8 @@ import com.cedarsoftware.util.CaseInsensitiveMap;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereTableDataCollectorUtils;
@@ -43,11 +43,11 @@ public final class PgNamespaceTableCollector implements ShardingSphereStatistics
private static final Long PUBLIC_SCHEMA_OID = 0L;
@Override
- public Optional<ShardingSphereTableData> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
- ShardingSphereTableData result = new ShardingSphereTableData(PG_NAMESPACE);
+ public Optional<TableStatistics> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
+ TableStatistics result = new TableStatistics(PG_NAMESPACE);
long oid = 1L;
for (ShardingSphereSchema each : metaData.getDatabase(databaseName).getAllSchemas()) {
- result.getRows().add(new ShardingSphereRowData(getRow(PUBLIC_SCHEMA.equalsIgnoreCase(each.getName()) ? PUBLIC_SCHEMA_OID : oid++, each.getName(), table)));
+ result.getRows().add(new RowStatistics(getRow(PUBLIC_SCHEMA.equalsIgnoreCase(each.getName()) ? PUBLIC_SCHEMA_OID : oid++, each.getName(), table)));
}
return Optional.of(result);
}
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowDataSwapper.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowStatisticsSwapper.java
similarity index 87%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowDataSwapper.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowStatisticsSwapper.java
index 43af506e33d..cfcb9f03175 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowDataSwapper.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereRowStatisticsSwapper.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.yaml.data.swapper;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
@@ -31,15 +31,15 @@ import java.util.LinkedList;
import java.util.List;
/**
- * YAML ShardingSphere row data swapper.
+ * YAML ShardingSphere row statistics swapper.
*/
@RequiredArgsConstructor
-public final class YamlShardingSphereRowDataSwapper implements YamlConfigurationSwapper<YamlShardingSphereRowData, ShardingSphereRowData> {
+public final class YamlShardingSphereRowStatisticsSwapper implements YamlConfigurationSwapper<YamlShardingSphereRowData, RowStatistics> {
private final List<ShardingSphereColumn> columns;
@Override
- public YamlShardingSphereRowData swapToYamlConfiguration(final ShardingSphereRowData data) {
+ public YamlShardingSphereRowData swapToYamlConfiguration(final RowStatistics data) {
YamlShardingSphereRowData result = new YamlShardingSphereRowData();
Collection<Object> rowData = null == data.getRows() ? Collections.emptyList() : data.getRows();
List<Object> yamlRowData = new LinkedList<>();
@@ -61,7 +61,7 @@ public final class YamlShardingSphereRowDataSwapper implements YamlConfiguration
}
@Override
- public ShardingSphereRowData swapToObject(final YamlShardingSphereRowData yamlConfig) {
+ public RowStatistics swapToObject(final YamlShardingSphereRowData yamlConfig) {
Collection<Object> yamlRow = null == yamlConfig.getRows() ? Collections.emptyList() : yamlConfig.getRows();
List<Object> rowData = new LinkedList<>();
int count = 0;
@@ -69,7 +69,7 @@ public final class YamlShardingSphereRowDataSwapper implements YamlConfiguration
ShardingSphereColumn column = columns.get(count++);
rowData.add(convertByDataType(each, column.getDataType()));
}
- return new ShardingSphereRowData(yamlConfig.getUniqueKey(), rowData);
+ return new RowStatistics(yamlConfig.getUniqueKey(), rowData);
}
private Object convertByDataType(final Object data, final int dataType) {
diff --git a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableDataSwapper.java b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableStatisticsSwapper.java
similarity index 75%
rename from infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableDataSwapper.java
rename to infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableStatisticsSwapper.java
index d6ce5a8f80b..c4277b2ef81 100644
--- a/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableDataSwapper.java
+++ b/infra/common/src/main/java/org/apache/shardingsphere/infra/yaml/data/swapper/YamlShardingSphereTableStatisticsSwapper.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.yaml.data.swapper;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.util.yaml.swapper.YamlConfigurationSwapper;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
@@ -29,28 +29,28 @@ import java.util.LinkedList;
import java.util.List;
/**
- * YAML ShardingSphere data swapper.
+ * YAML ShardingSphere statistics swapper.
*/
@RequiredArgsConstructor
-public final class YamlShardingSphereTableDataSwapper implements YamlConfigurationSwapper<YamlShardingSphereTableData, ShardingSphereTableData> {
+public final class YamlShardingSphereTableStatisticsSwapper implements YamlConfigurationSwapper<YamlShardingSphereTableData, TableStatistics> {
private final List<ShardingSphereColumn> columns;
@Override
- public YamlShardingSphereTableData swapToYamlConfiguration(final ShardingSphereTableData data) {
+ public YamlShardingSphereTableData swapToYamlConfiguration(final TableStatistics data) {
YamlShardingSphereTableData result = new YamlShardingSphereTableData();
result.setName(data.getName());
Collection<YamlShardingSphereRowData> yamlShardingSphereRowData = new LinkedList<>();
- data.getRows().forEach(rowData -> yamlShardingSphereRowData.add(new YamlShardingSphereRowDataSwapper(columns).swapToYamlConfiguration(rowData)));
+ data.getRows().forEach(rowData -> yamlShardingSphereRowData.add(new YamlShardingSphereRowStatisticsSwapper(columns).swapToYamlConfiguration(rowData)));
result.setRowData(yamlShardingSphereRowData);
return result;
}
@Override
- public ShardingSphereTableData swapToObject(final YamlShardingSphereTableData yamlConfig) {
- ShardingSphereTableData result = new ShardingSphereTableData(yamlConfig.getName());
+ public TableStatistics swapToObject(final YamlShardingSphereTableData yamlConfig) {
+ TableStatistics result = new TableStatistics(yamlConfig.getName());
if (null != yamlConfig.getRowData()) {
- yamlConfig.getRowData().forEach(yamlRowData -> result.getRows().add(new YamlShardingSphereRowDataSwapper(columns).swapToObject(yamlRowData)));
+ yamlConfig.getRowData().forEach(yamlRowData -> result.getRows().add(new YamlShardingSphereRowStatisticsSwapper(columns).swapToObject(yamlRowData)));
}
return result;
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatisticsTest.java
similarity index 55%
rename from infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseDataTest.java
rename to infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatisticsTest.java
index a8696badf14..474406ede0a 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereDatabaseDataTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/DatabaseStatisticsTest.java
@@ -24,36 +24,36 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-class ShardingSphereDatabaseDataTest {
+class DatabaseStatisticsTest {
- private final ShardingSphereDatabaseData databaseData = new ShardingSphereDatabaseData();
+ private final DatabaseStatistics databaseStatistics = new DatabaseStatistics();
@BeforeEach
void setUp() {
- databaseData.putSchema("foo_schema", new ShardingSphereSchemaData());
+ databaseStatistics.putSchemaStatistics("foo_schema", new SchemaStatistics());
}
@Test
- void assertContainsSchema() {
- assertTrue(databaseData.containsSchema("foo_schema"));
- assertFalse(databaseData.containsSchema("bar_schema"));
+ void assertContainsSchemaStatistics() {
+ assertTrue(databaseStatistics.containsSchemaStatistics("foo_schema"));
+ assertFalse(databaseStatistics.containsSchemaStatistics("bar_schema"));
}
@Test
- void assertGetSchema() {
- assertTrue(databaseData.getSchema("foo_schema").getTableData().isEmpty());
- assertNull(databaseData.getSchema("bar_schema"));
+ void assertGetSchemaStatistics() {
+ assertTrue(databaseStatistics.getSchemaStatistics("foo_schema").getTableStatisticsMap().isEmpty());
+ assertNull(databaseStatistics.getSchemaStatistics("bar_schema"));
}
@Test
- void assertPutSchema() {
- databaseData.putSchema("bar_schema", new ShardingSphereSchemaData());
- assertTrue(databaseData.containsSchema("bar_schema"));
+ void assertPutSchemaStatistics() {
+ databaseStatistics.putSchemaStatistics("bar_schema", new SchemaStatistics());
+ assertTrue(databaseStatistics.containsSchemaStatistics("bar_schema"));
}
@Test
- void assertRemoveSchema() {
- databaseData.removeSchema("foo_schema");
- assertFalse(databaseData.containsSchema("foo_schema"));
+ void assertRemoveSchemaStatistics() {
+ databaseStatistics.removeSchemaStatistics("foo_schema");
+ assertFalse(databaseStatistics.containsSchemaStatistics("foo_schema"));
}
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatisticsTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatisticsTest.java
new file mode 100644
index 00000000000..f271521c3c0
--- /dev/null
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/SchemaStatisticsTest.java
@@ -0,0 +1,73 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.shardingsphere.infra.metadata.statistics;
+
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+class SchemaStatisticsTest {
+
+ private static final String TEST_TABLE_NAME = "TEST_TABLE_NAME";
+
+ private static final String TEST_TABLE_2 = "TEST_TABLE_2";
+
+ private static final String NON_EXISTENT_TABLE = "NON_EXISTENT_TABLE";
+
+ @Test
+ void assertGetTableStatistics() {
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ schemaStatistics.putTableStatistics(TEST_TABLE_NAME, new TableStatistics(TEST_TABLE_NAME));
+ TableStatistics tableStatistics = schemaStatistics.getTableStatistics(TEST_TABLE_NAME);
+ assertTrue(TEST_TABLE_NAME.equalsIgnoreCase(tableStatistics.getName()));
+ assertNull(schemaStatistics.getTableStatistics(NON_EXISTENT_TABLE));
+ }
+
+ @Test
+ void assertPutTableStatistics() {
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ schemaStatistics.putTableStatistics(TEST_TABLE_NAME, new TableStatistics(TEST_TABLE_NAME));
+ assertThat(schemaStatistics.getTableStatisticsMap().size(), is(1));
+ assertFalse(schemaStatistics.getTableStatisticsMap().containsKey(TEST_TABLE_2));
+ TableStatistics newTableStatistics = new TableStatistics(TEST_TABLE_2);
+ schemaStatistics.putTableStatistics(TEST_TABLE_2, newTableStatistics);
+ assertThat(schemaStatistics.getTableStatisticsMap().size(), is(2));
+ assertTrue(schemaStatistics.containsTableStatistics(TEST_TABLE_2));
+ }
+
+ @Test
+ void assertRemoveTableStatistics() {
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ schemaStatistics.putTableStatistics(TEST_TABLE_NAME, new TableStatistics(TEST_TABLE_NAME));
+ assertTrue(schemaStatistics.containsTableStatistics(TEST_TABLE_NAME));
+ schemaStatistics.removeTableStatistics(TEST_TABLE_NAME);
+ assertTrue(schemaStatistics.getTableStatisticsMap().isEmpty());
+ }
+
+ @Test
+ void assertContainsTableStatistics() {
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ schemaStatistics.putTableStatistics(TEST_TABLE_NAME, new TableStatistics(TEST_TABLE_NAME));
+ assertTrue(schemaStatistics.containsTableStatistics(TEST_TABLE_NAME));
+ assertFalse(schemaStatistics.containsTableStatistics(NON_EXISTENT_TABLE));
+ }
+}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
deleted file mode 100644
index 4eb8ea2610d..00000000000
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereSchemaDataTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shardingsphere.infra.metadata.statistics;
-
-import org.junit.jupiter.api.Test;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-class ShardingSphereSchemaDataTest {
-
- private static final String TEST_TABLE_NAME = "TEST_TABLE_NAME";
-
- private static final String TEST_TABLE_2 = "TEST_TABLE_2";
-
- private static final String NON_EXISTENT_TABLE = "NON_EXISTENT_TABLE";
-
- @Test
- void assertGetTable() {
- ShardingSphereSchemaData shardingSphereSchemaData = new ShardingSphereSchemaData();
- shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new ShardingSphereTableData(TEST_TABLE_NAME));
- ShardingSphereTableData tableData = shardingSphereSchemaData.getTable(TEST_TABLE_NAME);
- assertTrue(TEST_TABLE_NAME.equalsIgnoreCase(tableData.getName()));
- assertNull(shardingSphereSchemaData.getTable(NON_EXISTENT_TABLE));
- }
-
- @Test
- void assertPutTable() {
- ShardingSphereSchemaData shardingSphereSchemaData = new ShardingSphereSchemaData();
- shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new ShardingSphereTableData(TEST_TABLE_NAME));
- assertThat(shardingSphereSchemaData.getTableData().size(), is(1));
- assertFalse(shardingSphereSchemaData.getTableData().containsKey(TEST_TABLE_2));
- ShardingSphereTableData newTable = new ShardingSphereTableData(TEST_TABLE_2);
- shardingSphereSchemaData.putTable(TEST_TABLE_2, newTable);
- assertThat(shardingSphereSchemaData.getTableData().size(), is(2));
- assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_2));
- }
-
- @Test
- void assertRemoveTable() {
- ShardingSphereSchemaData shardingSphereSchemaData = new ShardingSphereSchemaData();
- shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new ShardingSphereTableData(TEST_TABLE_NAME));
- assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_NAME));
- shardingSphereSchemaData.removeTable(TEST_TABLE_NAME);
- assertTrue(shardingSphereSchemaData.getTableData().isEmpty());
- }
-
- @Test
- void assertContainsTable() {
- ShardingSphereSchemaData shardingSphereSchemaData = new ShardingSphereSchemaData();
- shardingSphereSchemaData.putTable(TEST_TABLE_NAME, new ShardingSphereTableData(TEST_TABLE_NAME));
- assertTrue(shardingSphereSchemaData.containsTable(TEST_TABLE_NAME));
- assertFalse(shardingSphereSchemaData.containsTable(NON_EXISTENT_TABLE));
- }
-}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatisticsTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatisticsTest.java
index caf6e882561..ae7ce144001 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatisticsTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/ShardingSphereStatisticsTest.java
@@ -35,45 +35,44 @@ class ShardingSphereStatisticsTest {
public static final String NON_EXISTENT_DATABASE_NAME = "NON_EXISTENT_DATABASE_NAME";
@Test
- void assertGetDatabase() {
- ShardingSphereStatistics shardingSphereStatistics = new ShardingSphereStatistics();
- ShardingSphereDatabaseData shardingSphereDatabaseData = new ShardingSphereDatabaseData();
- shardingSphereStatistics.putDatabase(TEST_DATABASE_NAME, shardingSphereDatabaseData);
- ShardingSphereDatabaseData databaseData = shardingSphereStatistics.getDatabase(TEST_DATABASE_NAME);
- assertEquals(databaseData, shardingSphereDatabaseData);
- assertNull(shardingSphereStatistics.getDatabase(NON_EXISTENT_DATABASE_NAME));
+ void assertGetDatabaseStatistics() {
+ ShardingSphereStatistics statistics = new ShardingSphereStatistics();
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ statistics.putDatabaseStatistics(TEST_DATABASE_NAME, databaseStatistics);
+ assertEquals(statistics.getDatabaseStatistics(TEST_DATABASE_NAME), databaseStatistics);
+ assertNull(statistics.getDatabaseStatistics(NON_EXISTENT_DATABASE_NAME));
}
@Test
- void assertPutDatabase() {
+ void assertPutDatabaseStatistics() {
ShardingSphereStatistics shardingSphereStatistics = new ShardingSphereStatistics();
- ShardingSphereDatabaseData shardingSphereDatabaseData = new ShardingSphereDatabaseData();
- shardingSphereStatistics.putDatabase(TEST_DATABASE_NAME, shardingSphereDatabaseData);
- assertThat(shardingSphereStatistics.getDatabaseData().size(), is(1));
- assertFalse(shardingSphereStatistics.containsDatabase(TEST_DATABASE_NAME_2));
- ShardingSphereDatabaseData newShardingSphereDatabaseData = new ShardingSphereDatabaseData();
- shardingSphereStatistics.putDatabase(TEST_DATABASE_NAME_2, newShardingSphereDatabaseData);
- assertThat(shardingSphereStatistics.getDatabaseData().size(), is(2));
- assertTrue(shardingSphereStatistics.containsDatabase(TEST_DATABASE_NAME_2));
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ shardingSphereStatistics.putDatabaseStatistics(TEST_DATABASE_NAME, databaseStatistics);
+ assertThat(shardingSphereStatistics.getDatabaseStatisticsMap().size(), is(1));
+ assertFalse(shardingSphereStatistics.containsDatabaseStatistics(TEST_DATABASE_NAME_2));
+ DatabaseStatistics newDatabaseStatistics = new DatabaseStatistics();
+ shardingSphereStatistics.putDatabaseStatistics(TEST_DATABASE_NAME_2, newDatabaseStatistics);
+ assertThat(shardingSphereStatistics.getDatabaseStatisticsMap().size(), is(2));
+ assertTrue(shardingSphereStatistics.containsDatabaseStatistics(TEST_DATABASE_NAME_2));
}
@Test
- void assertDropDatabase() {
+ void assertDropDatabaseStatistics() {
ShardingSphereStatistics shardingSphereStatistics = new ShardingSphereStatistics();
- ShardingSphereDatabaseData shardingSphereDatabaseData = new ShardingSphereDatabaseData();
- shardingSphereStatistics.putDatabase(TEST_DATABASE_NAME, shardingSphereDatabaseData);
- assertTrue(shardingSphereStatistics.containsDatabase(TEST_DATABASE_NAME));
- shardingSphereStatistics.dropDatabase(TEST_DATABASE_NAME);
- assertThat(shardingSphereStatistics.getDatabaseData().size(), is(0));
- assertFalse(shardingSphereStatistics.containsDatabase(TEST_DATABASE_NAME));
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ shardingSphereStatistics.putDatabaseStatistics(TEST_DATABASE_NAME, databaseStatistics);
+ assertTrue(shardingSphereStatistics.containsDatabaseStatistics(TEST_DATABASE_NAME));
+ shardingSphereStatistics.dropDatabaseStatistics(TEST_DATABASE_NAME);
+ assertThat(shardingSphereStatistics.getDatabaseStatisticsMap().size(), is(0));
+ assertFalse(shardingSphereStatistics.containsDatabaseStatistics(TEST_DATABASE_NAME));
}
@Test
void assertContainsTable() {
ShardingSphereStatistics shardingSphereStatistics = new ShardingSphereStatistics();
- ShardingSphereDatabaseData shardingSphereDatabaseData = new ShardingSphereDatabaseData();
- shardingSphereStatistics.putDatabase(TEST_DATABASE_NAME, shardingSphereDatabaseData);
- assertTrue(shardingSphereStatistics.containsDatabase(TEST_DATABASE_NAME));
- assertFalse(shardingSphereStatistics.containsDatabase(NON_EXISTENT_DATABASE_NAME));
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ shardingSphereStatistics.putDatabaseStatistics(TEST_DATABASE_NAME, databaseStatistics);
+ assertTrue(shardingSphereStatistics.containsDatabaseStatistics(TEST_DATABASE_NAME));
+ assertFalse(shardingSphereStatistics.containsDatabaseStatistics(NON_EXISTENT_DATABASE_NAME));
}
}
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilderTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilderTest.java
index a417a497831..cceef253d46 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilderTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/ShardingSphereDefaultStatisticsBuilderTest.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.infra.metadata.statistics.builder;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -29,10 +29,10 @@ class ShardingSphereDefaultStatisticsBuilderTest {
@Test
void assertBuild() {
- ShardingSphereDatabaseData databaseData = new ShardingSphereDefaultStatisticsBuilder().build(mockDatabase());
- assertTrue(databaseData.getSchemaData().containsKey("shardingsphere"));
- assertTrue(databaseData.getSchemaData().get("shardingsphere").getTableData().containsKey("cluster_information"));
- assertTrue(databaseData.getSchemaData().get("shardingsphere").getTableData().containsKey("sharding_table_statistics"));
+ DatabaseStatistics databaseStatistics = new ShardingSphereDefaultStatisticsBuilder().build(mockDatabase());
+ assertTrue(databaseStatistics.getSchemaStatisticsMap().containsKey("shardingsphere"));
+ assertTrue(databaseStatistics.getSchemaStatisticsMap().get("shardingsphere").getTableStatisticsMap().containsKey("cluster_information"));
+ assertTrue(databaseStatistics.getSchemaStatisticsMap().get("shardingsphere").getTableStatisticsMap().containsKey("sharding_table_statistics"));
}
private ShardingSphereDatabase mockDatabase() {
diff --git a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppenderTest.java b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppenderTest.java
index bd8d677d515..e0e90153dd9 100644
--- a/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppenderTest.java
+++ b/infra/common/src/test/java/org/apache/shardingsphere/infra/metadata/statistics/builder/dialect/PostgreSQLStatisticsAppenderTest.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.infra.metadata.statistics.builder.dialect;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.builder.ShardingSphereDefaultStatisticsBuilder;
import org.junit.jupiter.api.Test;
@@ -36,10 +36,10 @@ class PostgreSQLStatisticsAppenderTest {
@Test
void assertAppend() {
ShardingSphereDatabase database = mockDatabase();
- ShardingSphereDatabaseData databaseData = new ShardingSphereDefaultStatisticsBuilder().build(database);
- new PostgreSQLStatisticsAppender().append(databaseData, database);
- assertTrue(databaseData.getSchemaData().containsKey("pg_catalog"));
- assertTrue(databaseData.getSchemaData().get("pg_catalog").getTableData().containsKey("pg_class"));
+ DatabaseStatistics databaseStatistics = new ShardingSphereDefaultStatisticsBuilder().build(database);
+ new PostgreSQLStatisticsAppender().append(databaseStatistics, database);
+ assertTrue(databaseStatistics.getSchemaStatisticsMap().containsKey("pg_catalog"));
+ assertTrue(databaseStatistics.getSchemaStatisticsMap().get("pg_catalog").getTableStatisticsMap().containsKey("pg_class"));
}
private ShardingSphereDatabase mockDatabase() {
diff --git a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutor.java b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutor.java
index 3a21637fc6b..baaec87c15a 100644
--- a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutor.java
+++ b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutor.java
@@ -51,7 +51,7 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.rule.RuleMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.parser.sql.SQLStatementParserEngine;
import org.apache.shardingsphere.infra.session.query.QueryContext;
import org.apache.shardingsphere.sql.parser.statement.core.statement.SQLStatement;
@@ -155,19 +155,19 @@ public final class EnumerableScanExecutor implements ScanExecutor {
private Enumerable<Object> createMemoryEnumerable(final String databaseName, final String schemaName, final ShardingSphereTable table, final DatabaseType databaseType) {
if (databaseType instanceof OpenGaussDatabaseType && EnumerableConstants.SYSTEM_CATALOG_TABLES.contains(table.getName())) {
- return createMemoryEnumerator(StatisticsAssembleUtils.assembleTableData(table, federationContext.getMetaData()), table, databaseType);
+ return createMemoryEnumerator(StatisticsAssembleUtils.assembleTableStatistics(table, federationContext.getMetaData()), table, databaseType);
}
- Optional<ShardingSphereTableData> tableData = Optional.ofNullable(statistics.getDatabase(databaseName))
- .map(optional -> optional.getSchema(schemaName)).map(optional -> optional.getTable(table.getName()));
- return tableData.map(optional -> createMemoryEnumerator(optional, table, databaseType)).orElseGet(this::createEmptyEnumerable);
+ Optional<TableStatistics> tableStatistics = Optional.ofNullable(statistics.getDatabaseStatistics(databaseName))
+ .map(optional -> optional.getSchemaStatistics(schemaName)).map(optional -> optional.getTableStatistics(table.getName()));
+ return tableStatistics.map(optional -> createMemoryEnumerator(optional, table, databaseType)).orElseGet(this::createEmptyEnumerable);
}
- private Enumerable<Object> createMemoryEnumerator(final ShardingSphereTableData tableData, final ShardingSphereTable table, final DatabaseType databaseType) {
+ private Enumerable<Object> createMemoryEnumerator(final TableStatistics tableStatistics, final ShardingSphereTable table, final DatabaseType databaseType) {
return new AbstractEnumerable<Object>() {
@Override
public Enumerator<Object> enumerator() {
- return new MemoryRowEnumerator(tableData.getRows(), table.getAllColumns(), databaseType);
+ return new MemoryRowEnumerator(tableStatistics.getRows(), table.getAllColumns(), databaseType);
}
};
}
diff --git a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerator/MemoryRowEnumerator.java b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerator/MemoryRowEnumerator.java
index b553cfabd55..2f283f71b47 100644
--- a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerator/MemoryRowEnumerator.java
+++ b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/enumerator/MemoryRowEnumerator.java
@@ -20,7 +20,7 @@ package org.apache.shardingsphere.sqlfederation.executor.enumerator;
import org.apache.calcite.linq4j.Enumerator;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
import org.apache.shardingsphere.sqlfederation.executor.utils.EnumeratorUtils;
import java.util.ArrayList;
@@ -33,15 +33,15 @@ import java.util.Map;
*/
public final class MemoryRowEnumerator implements Enumerator<Object> {
- private final Collection<ShardingSphereRowData> rows;
+ private final Collection<RowStatistics> rows;
private final Map<Integer, Class<?>> columnTypes;
- private Iterator<ShardingSphereRowData> iterator;
+ private Iterator<RowStatistics> iterator;
private Object current;
- public MemoryRowEnumerator(final Collection<ShardingSphereRowData> rows, final Collection<ShardingSphereColumn> columns, final DatabaseType databaseType) {
+ public MemoryRowEnumerator(final Collection<RowStatistics> rows, final Collection<ShardingSphereColumn> columns, final DatabaseType databaseType) {
this.rows = rows;
columnTypes = EnumeratorUtils.createColumnTypes(new ArrayList<>(columns), databaseType);
iterator = rows.iterator();
diff --git a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/utils/StatisticsAssembleUtils.java b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/utils/StatisticsAssembleUtils.java
index 2bbf5a38e2e..3121eed3510 100644
--- a/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/utils/StatisticsAssembleUtils.java
+++ b/kernel/sql-federation/executor/src/main/java/org/apache/shardingsphere/sqlfederation/executor/utils/StatisticsAssembleUtils.java
@@ -24,8 +24,8 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.user.Grantee;
import org.apache.shardingsphere.sqlfederation.executor.constant.EnumerableConstants;
@@ -39,15 +39,15 @@ import java.util.Collection;
public final class StatisticsAssembleUtils {
/**
- * Assemble table data.
+ * Assemble table statistics.
*
* @param table table
* @param metaData meta data
- * @return ShardingSphere table data
+ * @return table statistics
*/
- public static ShardingSphereTableData assembleTableData(final ShardingSphereTable table, final ShardingSphereMetaData metaData) {
+ public static TableStatistics assembleTableStatistics(final ShardingSphereTable table, final ShardingSphereMetaData metaData) {
// TODO move this logic to ShardingSphere statistics
- ShardingSphereTableData result = new ShardingSphereTableData(table.getName());
+ TableStatistics result = new TableStatistics(table.getName());
if (EnumerableConstants.PG_DATABASE.equalsIgnoreCase(table.getName())) {
assembleOpenGaussDatabaseData(result, metaData.getAllDatabases());
} else if (EnumerableConstants.PG_TABLES.equalsIgnoreCase(table.getName())) {
@@ -60,31 +60,31 @@ public final class StatisticsAssembleUtils {
return result;
}
- private static void assembleOpenGaussDatabaseData(final ShardingSphereTableData tableData, final Collection<ShardingSphereDatabase> databases) {
+ private static void assembleOpenGaussDatabaseData(final TableStatistics tableStatistics, final Collection<ShardingSphereDatabase> databases) {
for (ShardingSphereDatabase each : databases) {
Object[] rows = new Object[15];
rows[0] = each.getName();
rows[11] = EnumerableConstants.DAT_COMPATIBILITY;
- tableData.getRows().add(new ShardingSphereRowData(Arrays.asList(rows)));
+ tableStatistics.getRows().add(new RowStatistics(Arrays.asList(rows)));
}
}
- private static void assembleOpenGaussTableData(final ShardingSphereTableData tableData, final Collection<ShardingSphereSchema> schemas) {
+ private static void assembleOpenGaussTableData(final TableStatistics tableStatistics, final Collection<ShardingSphereSchema> schemas) {
for (ShardingSphereSchema schema : schemas) {
for (ShardingSphereTable each : schema.getAllTables()) {
Object[] rows = new Object[10];
rows[0] = schema.getName();
rows[1] = each.getName();
- tableData.getRows().add(new ShardingSphereRowData(Arrays.asList(rows)));
+ tableStatistics.getRows().add(new RowStatistics(Arrays.asList(rows)));
}
}
}
- private static void assembleOpenGaussRoleData(final ShardingSphereTableData tableData, final ShardingSphereMetaData metaData) {
+ private static void assembleOpenGaussRoleData(final TableStatistics tableStatistics, final ShardingSphereMetaData metaData) {
for (Grantee each : metaData.getGlobalRuleMetaData().getSingleRule(AuthorityRule.class).getGrantees()) {
Object[] rows = new Object[27];
rows[0] = each.getUsername();
- tableData.getRows().add(new ShardingSphereRowData(Arrays.asList(rows)));
+ tableStatistics.getRows().add(new RowStatistics(Arrays.asList(rows)));
}
}
}
diff --git a/kernel/sql-federation/executor/src/test/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutorTest.java b/kernel/sql-federation/executor/src/test/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutorTest.java
index 46de51b8781..be81a1571b4 100644
--- a/kernel/sql-federation/executor/src/test/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutorTest.java
+++ b/kernel/sql-federation/executor/src/test/java/org/apache/shardingsphere/sqlfederation/executor/enumerable/EnumerableScanExecutorTest.java
@@ -22,11 +22,11 @@ import org.apache.calcite.linq4j.Enumerator;
import org.apache.shardingsphere.infra.database.core.type.DatabaseType;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
import org.apache.shardingsphere.sqlfederation.executor.context.SQLFederationExecutorContext;
import org.apache.shardingsphere.sqlfederation.optimizer.context.OptimizerContext;
@@ -54,13 +54,13 @@ class EnumerableScanExecutorTest {
when(executorContext.getCurrentDatabaseName()).thenReturn("db");
when(executorContext.getSchemaName()).thenReturn("pg_catalog");
ShardingSphereStatistics statistics = mock(ShardingSphereStatistics.class, RETURNS_DEEP_STUBS);
- ShardingSphereDatabaseData databaseData = mock(ShardingSphereDatabaseData.class, RETURNS_DEEP_STUBS);
- when(statistics.getDatabase("db")).thenReturn(databaseData);
- ShardingSphereSchemaData schemaData = mock(ShardingSphereSchemaData.class, RETURNS_DEEP_STUBS);
- when(databaseData.getSchema("pg_catalog")).thenReturn(schemaData);
- ShardingSphereTableData tableData = mock(ShardingSphereTableData.class);
- when(tableData.getRows()).thenReturn(Collections.singletonList(new ShardingSphereRowData(Collections.singletonList(1))));
- when(schemaData.getTable("test")).thenReturn(tableData);
+ DatabaseStatistics databaseStatistics = mock(DatabaseStatistics.class, RETURNS_DEEP_STUBS);
+ when(statistics.getDatabaseStatistics("db")).thenReturn(databaseStatistics);
+ SchemaStatistics schemaStatistics = mock(SchemaStatistics.class, RETURNS_DEEP_STUBS);
+ when(databaseStatistics.getSchemaStatistics("pg_catalog")).thenReturn(schemaStatistics);
+ TableStatistics tableStatistics = mock(TableStatistics.class);
+ when(tableStatistics.getRows()).thenReturn(Collections.singletonList(new RowStatistics(Collections.singletonList(1))));
+ when(schemaStatistics.getTableStatistics("test")).thenReturn(tableStatistics);
ShardingSphereTable table = mock(ShardingSphereTable.class, RETURNS_DEEP_STUBS);
when(table.getName()).thenReturn("test");
when(table.getAllColumns()).thenReturn(Collections.singleton(new ShardingSphereColumn("id", Types.INTEGER, true, false, false, false, true, false)));
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
index c6d37748013..59b0ce4c9b2 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContextManager.java
@@ -125,7 +125,7 @@ public class MetaDataContextManager {
RuleMetaData changedGlobalMetaData = new RuleMetaData(GlobalRulesBuilder.buildRules(globalRuleConfigs, metaDataContexts.getMetaData().getAllDatabases(), props));
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
metaDataContexts.getMetaData().getAllDatabases(), metaDataContexts.getMetaData().getGlobalResourceMetaData(), changedGlobalMetaData, props);
- MetaDataContexts result = new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, metaDataPersistService.getShardingSphereDataPersistService().load(metaData)));
+ MetaDataContexts result = new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, metaDataPersistService.getShardingSphereStatisticsPersistService().load(metaData)));
switchingResource.closeStaleDataSources();
return result;
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
index 4eb560c5401..3ce147b87e5 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/MetaDataContexts.java
@@ -76,6 +76,6 @@ public final class MetaDataContexts {
*/
public void update(final ShardingSphereMetaData metaData, final MetaDataPersistService metaDataPersistService) {
this.metaData.set(metaData);
- this.statistics.set(ShardingSphereStatisticsFactory.create(metaData, metaDataPersistService.getShardingSphereDataPersistService().load(metaData)));
+ this.statistics.set(ShardingSphereStatisticsFactory.create(metaData, metaDataPersistService.getShardingSphereStatisticsPersistService().load(metaData)));
}
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/MetaDataContextsFactory.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/MetaDataContextsFactory.java
index b9eb4ed10bd..fd104dc4f25 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/MetaDataContextsFactory.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/MetaDataContextsFactory.java
@@ -98,7 +98,7 @@ public final class MetaDataContextsFactory {
GlobalRulesBuilder.buildRules(originalMetaDataContexts.getMetaData().getGlobalRuleMetaData().getConfigurations(), clonedMetaData.getAllDatabases(), props));
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
clonedMetaData.getAllDatabases(), originalMetaDataContexts.getMetaData().getGlobalResourceMetaData(), changedGlobalMetaData, props);
- return new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereDataPersistService().load(metaData)));
+ return new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereStatisticsPersistService().load(metaData)));
}
/**
@@ -120,7 +120,7 @@ public final class MetaDataContextsFactory {
GlobalRulesBuilder.buildRules(originalMetaDataContexts.getMetaData().getGlobalRuleMetaData().getConfigurations(), clonedMetaData.getAllDatabases(), props));
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
clonedMetaData.getAllDatabases(), originalMetaDataContexts.getMetaData().getGlobalResourceMetaData(), changedGlobalMetaData, props);
- return new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereDataPersistService().load(metaData)));
+ return new MetaDataContexts(metaData, ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereStatisticsPersistService().load(metaData)));
}
private ShardingSphereMetaData cloneMetaData(final ShardingSphereMetaData originalMetaData, final ShardingSphereDatabase changedDatabase) {
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/MetaDataContextsInitFactory.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/MetaDataContextsInitFactory.java
index bc4a55c83cf..09d0a29f305 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/MetaDataContextsInitFactory.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/MetaDataContextsInitFactory.java
@@ -54,7 +54,7 @@ public abstract class MetaDataContextsInitFactory {
final Collection<ShardingSphereDatabase> databases, final ConfigurationProperties props, final MetaDataPersistService persistService) {
Collection<ShardingSphereRule> globalRules = GlobalRulesBuilder.buildRules(globalRuleConfigs, databases, props);
ShardingSphereMetaData metaData = new ShardingSphereMetaData(databases, new ResourceMetaData(globalDataSources), new RuleMetaData(globalRules), props);
- ShardingSphereStatistics statistics = ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereDataPersistService().load(metaData));
+ ShardingSphereStatistics statistics = ShardingSphereStatisticsFactory.create(metaData, persistService.getShardingSphereStatisticsPersistService().load(metaData));
return new MetaDataContexts(metaData, statistics);
}
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/type/LocalConfigurationMetaDataContextsInitFactory.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/type/LocalConfigurationMetaDataContextsInitFactory.java
index 0059a3e6c98..ab0148c9fcf 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/type/LocalConfigurationMetaDataContextsInitFactory.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/factory/init/type/LocalConfigurationMetaDataContextsInitFactory.java
@@ -24,8 +24,8 @@ import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
import org.apache.shardingsphere.infra.instance.ComputeNodeInstanceContext;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabasesFactory;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.mode.manager.ContextManagerBuilderParameter;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import org.apache.shardingsphere.mode.metadata.factory.init.MetaDataContextsInitFactory;
@@ -77,10 +77,10 @@ public final class LocalConfigurationMetaDataContextsInitFactory extends MetaDat
}
persistService.getDatabaseMetaDataFacade().getTable().persist(each.getName(), schema.getName(), schema.getAllTables());
}));
- for (Entry<String, ShardingSphereDatabaseData> databaseDataEntry : metaDataContexts.getStatistics().getDatabaseData().entrySet()) {
- for (Entry<String, ShardingSphereSchemaData> schemaDataEntry : databaseDataEntry.getValue().getSchemaData().entrySet()) {
- persistService.getShardingSphereDataPersistService().persist(
- metaDataContexts.getMetaData().getDatabase(databaseDataEntry.getKey()), schemaDataEntry.getKey(), schemaDataEntry.getValue());
+ for (Entry<String, DatabaseStatistics> databaseStatisticsEntry : metaDataContexts.getStatistics().getDatabaseStatisticsMap().entrySet()) {
+ for (Entry<String, SchemaStatistics> schemaStatisticsEntry : databaseStatisticsEntry.getValue().getSchemaStatisticsMap().entrySet()) {
+ persistService.getShardingSphereStatisticsPersistService().persist(
+ metaDataContexts.getMetaData().getDatabase(databaseStatisticsEntry.getKey()), schemaStatisticsEntry.getKey(), schemaStatisticsEntry.getValue());
}
}
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ShardingSphereDatabaseDataManager.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ShardingSphereDatabaseDataManager.java
index c0c2bb94d48..1673811d219 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ShardingSphereDatabaseDataManager.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/manager/ShardingSphereDatabaseDataManager.java
@@ -19,11 +19,11 @@ package org.apache.shardingsphere.mode.metadata.manager;
import lombok.RequiredArgsConstructor;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
-import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowDataSwapper;
+import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowStatisticsSwapper;
import org.apache.shardingsphere.mode.metadata.MetaDataContexts;
import java.util.ArrayList;
@@ -38,85 +38,85 @@ public final class ShardingSphereDatabaseDataManager {
private final MetaDataContexts metaDataContexts;
/**
- * Add ShardingSphere database data.
+ * Add database statistics.
*
* @param databaseName database name
*/
- public synchronized void addShardingSphereDatabaseData(final String databaseName) {
- if (metaDataContexts.getStatistics().containsDatabase(databaseName)) {
+ public synchronized void addDatabaseStatistics(final String databaseName) {
+ if (metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName)) {
return;
}
- metaDataContexts.getStatistics().putDatabase(databaseName, new ShardingSphereDatabaseData());
+ metaDataContexts.getStatistics().putDatabaseStatistics(databaseName, new DatabaseStatistics());
}
/**
- * Drop ShardingSphere data database.
+ * Drop database statistics.
*
* @param databaseName database name
*/
- public synchronized void dropShardingSphereDatabaseData(final String databaseName) {
- if (!metaDataContexts.getStatistics().containsDatabase(databaseName)) {
+ public synchronized void dropDatabaseStatistics(final String databaseName) {
+ if (!metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName)) {
return;
}
- metaDataContexts.getStatistics().dropDatabase(databaseName);
+ metaDataContexts.getStatistics().dropDatabaseStatistics(databaseName);
}
/**
- * Add ShardingSphere schema data.
+ * Add schema statistics.
*
* @param databaseName database name
* @param schemaName schema name
*/
- public synchronized void addShardingSphereSchemaData(final String databaseName, final String schemaName) {
- if (metaDataContexts.getStatistics().getDatabase(databaseName).containsSchema(schemaName)) {
+ public synchronized void addSchemaStatistics(final String databaseName, final String schemaName) {
+ if (metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).containsSchemaStatistics(schemaName)) {
return;
}
- metaDataContexts.getStatistics().getDatabase(databaseName).putSchema(schemaName, new ShardingSphereSchemaData());
+ metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).putSchemaStatistics(schemaName, new SchemaStatistics());
}
/**
- * Drop ShardingSphere schema data.
+ * Drop schema statistics.
*
* @param databaseName database name
* @param schemaName schema name
*/
- public synchronized void dropShardingSphereSchemaData(final String databaseName, final String schemaName) {
- ShardingSphereDatabaseData databaseData = metaDataContexts.getStatistics().getDatabase(databaseName);
- if (null == databaseData || !databaseData.containsSchema(schemaName)) {
+ public synchronized void dropSchemaStatistics(final String databaseName, final String schemaName) {
+ DatabaseStatistics databaseStatistics = metaDataContexts.getStatistics().getDatabaseStatistics(databaseName);
+ if (null == databaseStatistics || !databaseStatistics.containsSchemaStatistics(schemaName)) {
return;
}
- databaseData.removeSchema(schemaName);
+ databaseStatistics.removeSchemaStatistics(schemaName);
}
/**
- * Add ShardingSphere table data.
+ * Add table statistics.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
*/
- public synchronized void addShardingSphereTableData(final String databaseName, final String schemaName, final String tableName) {
- if (!metaDataContexts.getStatistics().containsDatabase(databaseName) || !metaDataContexts.getStatistics().getDatabase(databaseName).containsSchema(schemaName)) {
+ public synchronized void addTableStatistics(final String databaseName, final String schemaName, final String tableName) {
+ if (!metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName) || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).containsSchemaStatistics(schemaName)) {
return;
}
- if (metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).containsTable(tableName)) {
+ if (metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).containsTableStatistics(tableName)) {
return;
}
- metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).putTable(tableName, new ShardingSphereTableData(tableName));
+ metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).putTableStatistics(tableName, new TableStatistics(tableName));
}
/**
- * Drop ShardingSphere table data.
+ * Drop table statistics.
*
* @param databaseName database name
* @param schemaName schema name
* @param tableName table name
*/
- public synchronized void dropShardingSphereTableData(final String databaseName, final String schemaName, final String tableName) {
- if (!metaDataContexts.getStatistics().containsDatabase(databaseName) || !metaDataContexts.getStatistics().getDatabase(databaseName).containsSchema(schemaName)) {
+ public synchronized void dropTableStatistics(final String databaseName, final String schemaName, final String tableName) {
+ if (!metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName) || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).containsSchemaStatistics(schemaName)) {
return;
}
- metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).removeTable(tableName);
+ metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).removeTableStatistics(tableName);
}
/**
@@ -128,17 +128,17 @@ public final class ShardingSphereDatabaseDataManager {
* @param yamlRowData yaml row data
*/
public synchronized void alterShardingSphereRowData(final String databaseName, final String schemaName, final String tableName, final YamlShardingSphereRowData yamlRowData) {
- if (!metaDataContexts.getStatistics().containsDatabase(databaseName) || !metaDataContexts.getStatistics().getDatabase(databaseName).containsSchema(schemaName)
- || !metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).containsTable(tableName)) {
+ if (!metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName) || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).containsSchemaStatistics(schemaName)
+ || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).containsTableStatistics(tableName)) {
return;
}
if (!metaDataContexts.getMetaData().containsDatabase(databaseName) || !metaDataContexts.getMetaData().getDatabase(databaseName).containsSchema(schemaName)
|| !metaDataContexts.getMetaData().getDatabase(databaseName).getSchema(schemaName).containsTable(tableName)) {
return;
}
- ShardingSphereTableData tableData = metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).getTable(tableName);
+ TableStatistics tableStatistics = metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).getTableStatistics(tableName);
List<ShardingSphereColumn> columns = new ArrayList<>(metaDataContexts.getMetaData().getDatabase(databaseName).getSchema(schemaName).getTable(tableName).getAllColumns());
- tableData.getRows().add(new YamlShardingSphereRowDataSwapper(columns).swapToObject(yamlRowData));
+ tableStatistics.getRows().add(new YamlShardingSphereRowStatisticsSwapper(columns).swapToObject(yamlRowData));
}
/**
@@ -150,10 +150,11 @@ public final class ShardingSphereDatabaseDataManager {
* @param uniqueKey row uniqueKey
*/
public synchronized void deleteShardingSphereRowData(final String databaseName, final String schemaName, final String tableName, final String uniqueKey) {
- if (!metaDataContexts.getStatistics().containsDatabase(databaseName) || !metaDataContexts.getStatistics().getDatabase(databaseName).containsSchema(schemaName)
- || !metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).containsTable(tableName)) {
+ if (!metaDataContexts.getStatistics().containsDatabaseStatistics(databaseName) || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).containsSchemaStatistics(schemaName)
+ || !metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).containsTableStatistics(tableName)) {
return;
}
- metaDataContexts.getStatistics().getDatabase(databaseName).getSchema(schemaName).getTable(tableName).getRows().removeIf(each -> uniqueKey.equals(each.getUniqueKey()));
+ metaDataContexts.getStatistics().getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).getTableStatistics(tableName).getRows()
+ .removeIf(each -> uniqueKey.equals(each.getUniqueKey()));
}
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
index e01bf1a99e1..82951b9fce1 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/MetaDataPersistService.java
@@ -29,7 +29,7 @@ import org.apache.shardingsphere.infra.metadata.database.schema.manager.GenericS
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.mode.metadata.persist.data.ShardingSphereDataPersistService;
+import org.apache.shardingsphere.mode.metadata.persist.data.ShardingSphereStatisticsPersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.config.database.DataSourceUnitPersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.config.database.DatabaseRulePersistService;
import org.apache.shardingsphere.mode.metadata.persist.service.config.global.GlobalRulePersistService;
@@ -68,7 +68,7 @@ public final class MetaDataPersistService {
private final PropertiesPersistService propsService;
- private final ShardingSphereDataPersistService shardingSphereDataPersistService;
+ private final ShardingSphereStatisticsPersistService shardingSphereStatisticsPersistService;
public MetaDataPersistService(final PersistRepository repository) {
this.repository = repository;
@@ -78,7 +78,7 @@ public final class MetaDataPersistService {
databaseRulePersistService = new DatabaseRulePersistService(repository);
globalRuleService = new GlobalRulePersistService(repository, metaDataVersionPersistService);
propsService = new PropertiesPersistService(repository, metaDataVersionPersistService);
- shardingSphereDataPersistService = new ShardingSphereDataPersistService(repository);
+ shardingSphereStatisticsPersistService = new ShardingSphereStatisticsPersistService(repository);
}
/**
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistService.java
similarity index 75%
rename from mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistService.java
rename to mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistService.java
index 41eafda35a0..b0dab938ecd 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistService.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistService.java
@@ -20,11 +20,11 @@ package org.apache.shardingsphere.mode.metadata.persist.data;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
-import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowDataSwapper;
+import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowStatisticsSwapper;
import org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableRowDataPersistService;
import org.apache.shardingsphere.mode.node.path.metadata.ShardingSphereStatisticsNodePath;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
@@ -34,15 +34,15 @@ import java.util.Collection;
import java.util.stream.Collectors;
/**
- * ShardingSphere data persist service.
+ * ShardingSphere statistics persist service.
*/
-public final class ShardingSphereDataPersistService {
+public final class ShardingSphereStatisticsPersistService {
private final PersistRepository repository;
private final TableRowDataPersistService tableRowDataPersistService;
- public ShardingSphereDataPersistService(final PersistRepository repository) {
+ public ShardingSphereStatisticsPersistService(final PersistRepository repository) {
this.repository = repository;
tableRowDataPersistService = new TableRowDataPersistService(repository);
}
@@ -60,24 +60,24 @@ public final class ShardingSphereDataPersistService {
}
ShardingSphereStatistics result = new ShardingSphereStatistics();
for (String each : databaseNames.stream().filter(metaData::containsDatabase).collect(Collectors.toList())) {
- result.getDatabaseData().put(each, load(metaData.getDatabase(each)));
+ result.getDatabaseStatisticsMap().put(each, load(metaData.getDatabase(each)));
}
return result;
}
- private ShardingSphereDatabaseData load(final ShardingSphereDatabase database) {
- ShardingSphereDatabaseData result = new ShardingSphereDatabaseData();
+ private DatabaseStatistics load(final ShardingSphereDatabase database) {
+ DatabaseStatistics result = new DatabaseStatistics();
for (String each : repository.getChildrenKeys(ShardingSphereStatisticsNodePath.getSchemaRootPath(database.getName())).stream().filter(database::containsSchema).collect(Collectors.toList())) {
- result.putSchema(each, load(database.getName(), database.getSchema(each)));
+ result.putSchemaStatistics(each, load(database.getName(), database.getSchema(each)));
}
return result;
}
- private ShardingSphereSchemaData load(final String databaseName, final ShardingSphereSchema schema) {
- ShardingSphereSchemaData result = new ShardingSphereSchemaData();
+ private SchemaStatistics load(final String databaseName, final ShardingSphereSchema schema) {
+ SchemaStatistics result = new SchemaStatistics();
for (String each : repository.getChildrenKeys(ShardingSphereStatisticsNodePath.getTableRootPath(databaseName, schema.getName())).stream().filter(schema::containsTable)
.collect(Collectors.toList())) {
- result.getTableData().put(each, tableRowDataPersistService.load(databaseName, schema.getName(), schema.getTable(each)));
+ result.getTableStatisticsMap().put(each, tableRowDataPersistService.load(databaseName, schema.getName(), schema.getTable(each)));
}
return result;
@@ -88,23 +88,23 @@ public final class ShardingSphereDataPersistService {
*
* @param database database
* @param schemaName schema name
- * @param schemaData schema data
+ * @param schemaStatistics schema statistics
*/
- public void persist(final ShardingSphereDatabase database, final String schemaName, final ShardingSphereSchemaData schemaData) {
- if (schemaData.getTableData().isEmpty()) {
+ public void persist(final ShardingSphereDatabase database, final String schemaName, final SchemaStatistics schemaStatistics) {
+ if (schemaStatistics.getTableStatisticsMap().isEmpty()) {
persistSchema(database.getName(), schemaName);
}
- persistTableData(database, schemaName, schemaData);
+ persistTableData(database, schemaName, schemaStatistics);
}
private void persistSchema(final String databaseName, final String schemaName) {
repository.persist(ShardingSphereStatisticsNodePath.getSchemaPath(databaseName, schemaName), "");
}
- private void persistTableData(final ShardingSphereDatabase database, final String schemaName, final ShardingSphereSchemaData schemaData) {
- schemaData.getTableData().values().forEach(each -> {
- YamlShardingSphereRowDataSwapper swapper =
- new YamlShardingSphereRowDataSwapper(new ArrayList<>(database.getSchema(schemaName).getTable(each.getName()).getAllColumns()));
+ private void persistTableData(final ShardingSphereDatabase database, final String schemaName, final SchemaStatistics schemaStatistics) {
+ schemaStatistics.getTableStatisticsMap().values().forEach(each -> {
+ YamlShardingSphereRowStatisticsSwapper swapper =
+ new YamlShardingSphereRowStatisticsSwapper(new ArrayList<>(database.getSchema(schemaName).getTable(each.getName()).getAllColumns()));
persistTableData(database.getName(), schemaName, each.getName(), each.getRows().stream().map(swapper::swapToYamlConfiguration).collect(Collectors.toList()));
});
}
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistService.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistService.java
index b4460d373de..4688e22038a 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistService.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistService.java
@@ -19,11 +19,11 @@ package org.apache.shardingsphere.mode.metadata.persist.service.metadata.table;
import com.google.common.base.Strings;
import lombok.RequiredArgsConstructor;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
import org.apache.shardingsphere.infra.util.yaml.YamlEngine;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
-import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowDataSwapper;
+import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowStatisticsSwapper;
import org.apache.shardingsphere.mode.node.path.metadata.ShardingSphereStatisticsNodePath;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
@@ -68,16 +68,16 @@ public final class TableRowDataPersistService {
}
/**
- * Load table data.
+ * Load table statistics.
*
* @param databaseName database name
* @param schemaName schema name
* @param table table
- * @return table data
+ * @return table statistics
*/
- public ShardingSphereTableData load(final String databaseName, final String schemaName, final ShardingSphereTable table) {
- ShardingSphereTableData result = new ShardingSphereTableData(table.getName());
- YamlShardingSphereRowDataSwapper swapper = new YamlShardingSphereRowDataSwapper(new ArrayList<>(table.getAllColumns()));
+ public TableStatistics load(final String databaseName, final String schemaName, final ShardingSphereTable table) {
+ TableStatistics result = new TableStatistics(table.getName());
+ YamlShardingSphereRowStatisticsSwapper swapper = new YamlShardingSphereRowStatisticsSwapper(new ArrayList<>(table.getAllColumns()));
for (String each : repository.getChildrenKeys(ShardingSphereStatisticsNodePath.getTablePath(databaseName, schemaName, table.getName()))) {
String yamlRow = repository.query(ShardingSphereStatisticsNodePath.getTableRowPath(databaseName, schemaName, table.getName(), each));
if (!Strings.isNullOrEmpty(yamlRow)) {
diff --git a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
index 91df861bc78..b6415c32d21 100644
--- a/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
+++ b/mode/core/src/main/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngine.java
@@ -26,14 +26,14 @@ import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
-import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowDataSwapper;
+import org.apache.shardingsphere.infra.yaml.data.swapper.YamlShardingSphereRowStatisticsSwapper;
import org.apache.shardingsphere.mode.metadata.persist.data.AlteredShardingSphereDatabaseData;
import org.apache.shardingsphere.mode.lock.global.GlobalLockDefinition;
import org.apache.shardingsphere.mode.manager.ContextManager;
@@ -96,7 +96,7 @@ public final class ShardingSphereStatisticsRefreshEngine {
ShardingSphereStatistics statistics = contextManager.getMetaDataContexts().getStatistics();
ShardingSphereMetaData metaData = contextManager.getMetaDataContexts().getMetaData();
ShardingSphereStatistics changedStatistics = new ShardingSphereStatistics();
- for (Entry<String, ShardingSphereDatabaseData> entry : statistics.getDatabaseData().entrySet()) {
+ for (Entry<String, DatabaseStatistics> entry : statistics.getDatabaseStatisticsMap().entrySet()) {
if (metaData.containsDatabase(entry.getKey())) {
collectForDatabase(entry.getKey(), entry.getValue(), metaData, changedStatistics);
}
@@ -108,17 +108,17 @@ public final class ShardingSphereStatisticsRefreshEngine {
}
}
- private void collectForDatabase(final String databaseName, final ShardingSphereDatabaseData databaseData, final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
- for (Entry<String, ShardingSphereSchemaData> entry : databaseData.getSchemaData().entrySet()) {
+ private void collectForDatabase(final String databaseName, final DatabaseStatistics databaseStatistics, final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
+ for (Entry<String, SchemaStatistics> entry : databaseStatistics.getSchemaStatisticsMap().entrySet()) {
if (metaData.getDatabase(databaseName).containsSchema(entry.getKey())) {
collectForSchema(databaseName, entry.getKey(), entry.getValue(), metaData, statistics);
}
}
}
- private void collectForSchema(final String databaseName, final String schemaName, final ShardingSphereSchemaData schemaData,
+ private void collectForSchema(final String databaseName, final String schemaName, final SchemaStatistics schemaStatistics,
final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
- for (Entry<String, ShardingSphereTableData> entry : schemaData.getTableData().entrySet()) {
+ for (Entry<String, TableStatistics> entry : schemaStatistics.getTableStatisticsMap().entrySet()) {
if (metaData.getDatabase(databaseName).getSchema(schemaName).containsTable(entry.getKey())) {
collectForTable(databaseName, schemaName, metaData.getDatabase(databaseName).getSchema(schemaName).getTable(entry.getKey()), metaData, statistics);
}
@@ -128,75 +128,75 @@ public final class ShardingSphereStatisticsRefreshEngine {
private void collectForTable(final String databaseName, final String schemaName, final ShardingSphereTable table,
final ShardingSphereMetaData metaData, final ShardingSphereStatistics statistics) {
Optional<ShardingSphereStatisticsCollector> statisticsCollector = TypedSPILoader.findService(ShardingSphereStatisticsCollector.class, table.getName());
- Optional<ShardingSphereTableData> tableData = Optional.empty();
+ Optional<TableStatistics> tableStatistics = Optional.empty();
if (statisticsCollector.isPresent()) {
try {
- tableData = statisticsCollector.get().collect(databaseName, table, metaData);
+ tableStatistics = statisticsCollector.get().collect(databaseName, table, metaData);
// CHECKSTYLE:OFF
} catch (final Exception ex) {
// CHECKSTYLE:ON
log.error(String.format("Collect %s.%s.%s data failed", databaseName, schemaName, table.getName()), ex);
}
}
- ShardingSphereDatabaseData databaseData = statistics.containsDatabase(databaseName) ? statistics.getDatabase(databaseName) : new ShardingSphereDatabaseData();
- ShardingSphereSchemaData schemaData = databaseData.containsSchema(schemaName) ? databaseData.getSchema(schemaName) : new ShardingSphereSchemaData();
- tableData.ifPresent(optional -> schemaData.putTable(table.getName(), optional));
- databaseData.putSchema(schemaName, schemaData);
- statistics.putDatabase(databaseName, databaseData);
+ DatabaseStatistics databaseStatistics = statistics.containsDatabaseStatistics(databaseName) ? statistics.getDatabaseStatistics(databaseName) : new DatabaseStatistics();
+ SchemaStatistics schemaStatistics = databaseStatistics.containsSchemaStatistics(schemaName) ? databaseStatistics.getSchemaStatistics(schemaName) : new SchemaStatistics();
+ tableStatistics.ifPresent(optional -> schemaStatistics.putTableStatistics(table.getName(), optional));
+ databaseStatistics.putSchemaStatistics(schemaName, schemaStatistics);
+ statistics.putDatabaseStatistics(databaseName, databaseStatistics);
}
private void compareAndUpdate(final ShardingSphereStatistics changedStatistics) {
ShardingSphereMetaData metaData = contextManager.getMetaDataContexts().getMetaData();
ShardingSphereStatistics statistics = contextManager.getMetaDataContexts().getStatistics();
- for (Entry<String, ShardingSphereDatabaseData> entry : changedStatistics.getDatabaseData().entrySet()) {
- compareAndUpdateForDatabase(entry.getKey(), statistics.getDatabase(entry.getKey()), entry.getValue(), statistics, metaData.getDatabase(entry.getKey()));
+ for (Entry<String, DatabaseStatistics> entry : changedStatistics.getDatabaseStatisticsMap().entrySet()) {
+ compareAndUpdateForDatabase(entry.getKey(), statistics.getDatabaseStatistics(entry.getKey()), entry.getValue(), statistics, metaData.getDatabase(entry.getKey()));
}
- for (Entry<String, ShardingSphereDatabaseData> entry : statistics.getDatabaseData().entrySet()) {
- if (!changedStatistics.containsDatabase(entry.getKey())) {
- statistics.dropDatabase(entry.getKey());
- contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereDataPersistService().delete(entry.getKey());
+ for (Entry<String, DatabaseStatistics> entry : statistics.getDatabaseStatisticsMap().entrySet()) {
+ if (!changedStatistics.containsDatabaseStatistics(entry.getKey())) {
+ statistics.dropDatabaseStatistics(entry.getKey());
+ contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereStatisticsPersistService().delete(entry.getKey());
}
}
}
- private void compareAndUpdateForDatabase(final String databaseName, final ShardingSphereDatabaseData databaseData, final ShardingSphereDatabaseData changedDatabaseData,
+ private void compareAndUpdateForDatabase(final String databaseName, final DatabaseStatistics databaseStatistics, final DatabaseStatistics changedDatabaseStatistics,
final ShardingSphereStatistics statistics, final ShardingSphereDatabase database) {
- for (Entry<String, ShardingSphereSchemaData> entry : changedDatabaseData.getSchemaData().entrySet()) {
- compareAndUpdateForSchema(databaseName, entry.getKey(), databaseData.getSchema(entry.getKey()), entry.getValue(), statistics, database.getSchema(entry.getKey()));
+ for (Entry<String, SchemaStatistics> entry : changedDatabaseStatistics.getSchemaStatisticsMap().entrySet()) {
+ compareAndUpdateForSchema(databaseName, entry.getKey(), databaseStatistics.getSchemaStatistics(entry.getKey()), entry.getValue(), statistics, database.getSchema(entry.getKey()));
}
}
- private void compareAndUpdateForSchema(final String databaseName, final String schemaName, final ShardingSphereSchemaData schemaData,
- final ShardingSphereSchemaData changedSchemaData, final ShardingSphereStatistics statistics, final ShardingSphereSchema schema) {
- for (Entry<String, ShardingSphereTableData> entry : changedSchemaData.getTableData().entrySet()) {
- compareAndUpdateForTable(databaseName, schemaName, schemaData.getTable(entry.getKey()), entry.getValue(), statistics, schema.getTable(entry.getKey()));
+ private void compareAndUpdateForSchema(final String databaseName, final String schemaName, final SchemaStatistics schemaStatistics,
+ final SchemaStatistics changedSchemaStatistics, final ShardingSphereStatistics statistics, final ShardingSphereSchema schema) {
+ for (Entry<String, TableStatistics> entry : changedSchemaStatistics.getTableStatisticsMap().entrySet()) {
+ compareAndUpdateForTable(databaseName, schemaName, schemaStatistics.getTableStatistics(entry.getKey()), entry.getValue(), statistics, schema.getTable(entry.getKey()));
}
}
- private void compareAndUpdateForTable(final String databaseName, final String schemaName, final ShardingSphereTableData tableData,
- final ShardingSphereTableData changedTableData, final ShardingSphereStatistics statistics, final ShardingSphereTable table) {
- if (!tableData.equals(changedTableData)) {
- statistics.getDatabase(databaseName).getSchema(schemaName).putTable(changedTableData.getName(), changedTableData);
- AlteredShardingSphereDatabaseData alteredShardingSphereDatabaseData = createAlteredShardingSphereDatabaseData(databaseName, schemaName, tableData, changedTableData, table);
- contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereDataPersistService().update(alteredShardingSphereDatabaseData);
+ private void compareAndUpdateForTable(final String databaseName, final String schemaName, final TableStatistics tableStatistics,
+ final TableStatistics changedTableStatistics, final ShardingSphereStatistics statistics, final ShardingSphereTable table) {
+ if (!tableStatistics.equals(changedTableStatistics)) {
+ statistics.getDatabaseStatistics(databaseName).getSchemaStatistics(schemaName).putTableStatistics(changedTableStatistics.getName(), changedTableStatistics);
+ AlteredShardingSphereDatabaseData alteredShardingSphereDatabaseData = createAlteredShardingSphereDatabaseData(databaseName, schemaName, tableStatistics, changedTableStatistics, table);
+ contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereStatisticsPersistService().update(alteredShardingSphereDatabaseData);
}
}
- private AlteredShardingSphereDatabaseData createAlteredShardingSphereDatabaseData(final String databaseName, final String schemaName, final ShardingSphereTableData tableData,
- final ShardingSphereTableData changedTableData, final ShardingSphereTable table) {
- AlteredShardingSphereDatabaseData result = new AlteredShardingSphereDatabaseData(databaseName, schemaName, tableData.getName());
- Map<String, ShardingSphereRowData> tableDataMap = tableData.getRows().stream().collect(Collectors.toMap(ShardingSphereRowData::getUniqueKey, Function.identity()));
- Map<String, ShardingSphereRowData> changedTableDataMap = changedTableData.getRows().stream().collect(Collectors.toMap(ShardingSphereRowData::getUniqueKey, Function.identity()));
- YamlShardingSphereRowDataSwapper swapper = new YamlShardingSphereRowDataSwapper(new ArrayList<>(table.getAllColumns()));
- for (Entry<String, ShardingSphereRowData> entry : changedTableDataMap.entrySet()) {
- if (!tableDataMap.containsKey(entry.getKey())) {
+ private AlteredShardingSphereDatabaseData createAlteredShardingSphereDatabaseData(final String databaseName, final String schemaName, final TableStatistics tableStatistics,
+ final TableStatistics changedTableStatistics, final ShardingSphereTable table) {
+ AlteredShardingSphereDatabaseData result = new AlteredShardingSphereDatabaseData(databaseName, schemaName, tableStatistics.getName());
+ Map<String, RowStatistics> tableStatisticsMap = tableStatistics.getRows().stream().collect(Collectors.toMap(RowStatistics::getUniqueKey, Function.identity()));
+ Map<String, RowStatistics> changedTableStatisticsMap = changedTableStatistics.getRows().stream().collect(Collectors.toMap(RowStatistics::getUniqueKey, Function.identity()));
+ YamlShardingSphereRowStatisticsSwapper swapper = new YamlShardingSphereRowStatisticsSwapper(new ArrayList<>(table.getAllColumns()));
+ for (Entry<String, RowStatistics> entry : changedTableStatisticsMap.entrySet()) {
+ if (!tableStatisticsMap.containsKey(entry.getKey())) {
result.getAddedRows().add(swapper.swapToYamlConfiguration(entry.getValue()));
- } else if (!tableDataMap.get(entry.getKey()).equals(entry.getValue())) {
+ } else if (!tableStatisticsMap.get(entry.getKey()).equals(entry.getValue())) {
result.getUpdatedRows().add(swapper.swapToYamlConfiguration(entry.getValue()));
}
}
- for (Entry<String, ShardingSphereRowData> entry : tableDataMap.entrySet()) {
- if (!changedTableDataMap.containsKey(entry.getKey())) {
+ for (Entry<String, RowStatistics> entry : tableStatisticsMap.entrySet()) {
+ if (!changedTableStatisticsMap.containsKey(entry.getKey())) {
result.getDeletedRows().add(swapper.swapToYamlConfiguration(entry.getValue()));
}
}
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/fixture/StatisticsCollectorFixture.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/fixture/StatisticsCollectorFixture.java
index a4835a895e4..b05ea79f556 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/fixture/StatisticsCollectorFixture.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/fixture/StatisticsCollectorFixture.java
@@ -19,8 +19,8 @@ package org.apache.shardingsphere.mode.fixture;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereRowData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.RowStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.collector.ShardingSphereStatisticsCollector;
import java.sql.SQLException;
@@ -33,10 +33,10 @@ import java.util.Optional;
public final class StatisticsCollectorFixture implements ShardingSphereStatisticsCollector {
@Override
- public Optional<ShardingSphereTableData> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
- ShardingSphereTableData shardingSphereTableData = new ShardingSphereTableData("test_table");
- shardingSphereTableData.getRows().add(new ShardingSphereRowData(Arrays.asList("1", "2")));
- return Optional.of(shardingSphereTableData);
+ public Optional<TableStatistics> collect(final String databaseName, final ShardingSphereTable table, final ShardingSphereMetaData metaData) throws SQLException {
+ TableStatistics tableStatistics = new TableStatistics("test_table");
+ tableStatistics.getRows().add(new RowStatistics(Arrays.asList("1", "2")));
+ return Optional.of(tableStatistics);
}
@Override
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistServiceTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistServiceTest.java
similarity index 82%
rename from mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistServiceTest.java
rename to mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistServiceTest.java
index 51727128ca6..a11a8ebc0d5 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereDataPersistServiceTest.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/data/ShardingSphereStatisticsPersistServiceTest.java
@@ -20,8 +20,8 @@ package org.apache.shardingsphere.mode.metadata.persist.data;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
import org.apache.shardingsphere.mode.metadata.persist.service.metadata.table.TableRowDataPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
@@ -44,9 +44,9 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@ExtendWith(MockitoExtension.class)
-class ShardingSphereDataPersistServiceTest {
+class ShardingSphereStatisticsPersistServiceTest {
- private ShardingSphereDataPersistService persistService;
+ private ShardingSphereStatisticsPersistService persistService;
@Mock
private PersistRepository repository;
@@ -56,13 +56,13 @@ class ShardingSphereDataPersistServiceTest {
@BeforeEach
void setUp() throws ReflectiveOperationException {
- persistService = new ShardingSphereDataPersistService(repository);
- Plugins.getMemberAccessor().set(ShardingSphereDataPersistService.class.getDeclaredField("tableRowDataPersistService"), persistService, tableRowDataPersistService);
+ persistService = new ShardingSphereStatisticsPersistService(repository);
+ Plugins.getMemberAccessor().set(ShardingSphereStatisticsPersistService.class.getDeclaredField("tableRowDataPersistService"), persistService, tableRowDataPersistService);
}
@Test
void assertLoadWithEmptyDatabases() {
- assertTrue(persistService.load(mock(ShardingSphereMetaData.class)).getDatabaseData().isEmpty());
+ assertTrue(persistService.load(mock(ShardingSphereMetaData.class)).getDatabaseStatisticsMap().isEmpty());
}
@Test
@@ -70,7 +70,7 @@ class ShardingSphereDataPersistServiceTest {
when(repository.getChildrenKeys("/statistics/databases")).thenReturn(Arrays.asList("foo_db", "bar_db"));
when(repository.getChildrenKeys("/statistics/databases/foo_db/schemas")).thenReturn(Collections.singletonList("foo_schema"));
when(repository.getChildrenKeys("/statistics/databases/foo_db/schemas/foo_schema/tables")).thenReturn(Collections.singletonList("foo_tbl"));
- assertFalse(persistService.load(mockMetaData()).getDatabaseData().isEmpty());
+ assertFalse(persistService.load(mockMetaData()).getDatabaseStatisticsMap().isEmpty());
}
private ShardingSphereMetaData mockMetaData() {
@@ -90,21 +90,21 @@ class ShardingSphereDataPersistServiceTest {
void assertPersistWithEmptyTableData() {
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class);
when(database.getName()).thenReturn("foo_db");
- persistService.persist(database, "foo_schema", mock(ShardingSphereSchemaData.class));
+ persistService.persist(database, "foo_schema", mock(SchemaStatistics.class));
verify(repository).persist("/statistics/databases/foo_db/schemas/foo_schema", "");
}
@Test
void assertPersist() {
- ShardingSphereSchemaData schemaData = mock(ShardingSphereSchemaData.class, RETURNS_DEEP_STUBS);
- when(schemaData.getTableData().isEmpty()).thenReturn(false);
- ShardingSphereTableData tableData = mock(ShardingSphereTableData.class);
- when(tableData.getName()).thenReturn("foo_tbl");
- when(schemaData.getTableData().values()).thenReturn(Collections.singleton(tableData));
+ SchemaStatistics schemaStatistics = mock(SchemaStatistics.class, RETURNS_DEEP_STUBS);
+ when(schemaStatistics.getTableStatisticsMap().isEmpty()).thenReturn(false);
+ TableStatistics tableStatistics = mock(TableStatistics.class);
+ when(tableStatistics.getName()).thenReturn("foo_tbl");
+ when(schemaStatistics.getTableStatisticsMap().values()).thenReturn(Collections.singleton(tableStatistics));
ShardingSphereDatabase database = mock(ShardingSphereDatabase.class, RETURNS_DEEP_STUBS);
when(database.getName()).thenReturn("foo_db");
when(database.getSchema("foo_schema").getTable("foo_tbl").getAllColumns()).thenReturn(Collections.singleton(mock(ShardingSphereColumn.class)));
- persistService.persist(database, "foo_schema", schemaData);
+ persistService.persist(database, "foo_schema", schemaStatistics);
verify(tableRowDataPersistService).persist("foo_db", "foo_schema", "foo_tbl", Collections.emptyList());
}
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistServiceTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistServiceTest.java
index 0cfc44e7d8c..164facae1d5 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistServiceTest.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/persist/service/metadata/table/TableRowDataPersistServiceTest.java
@@ -18,7 +18,7 @@
package org.apache.shardingsphere.mode.metadata.persist.service.metadata.table;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlShardingSphereRowData;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
@@ -77,7 +77,7 @@ class TableRowDataPersistServiceTest {
when(repository.query("/statistics/databases/foo_db/schemas/foo_schema/tables/foo_tbl/foo_tbl")).thenReturn("uniqueKey: foo_key" + System.lineSeparator());
ShardingSphereTable table = mock(ShardingSphereTable.class);
when(table.getName()).thenReturn("foo_tbl");
- ShardingSphereTableData actual = persistService.load("foo_db", "foo_schema", table);
+ TableStatistics actual = persistService.load("foo_db", "foo_schema", table);
assertThat(actual.getName(), is("foo_tbl"));
assertThat(actual.getRows().size(), is(1));
assertThat(actual.getRows().iterator().next().getUniqueKey(), is("foo_key"));
@@ -89,7 +89,7 @@ class TableRowDataPersistServiceTest {
when(repository.query("/statistics/databases/foo_db/schemas/foo_schema/tables/foo_tbl/foo_tbl")).thenReturn("");
ShardingSphereTable table = mock(ShardingSphereTable.class);
when(table.getName()).thenReturn("foo_tbl");
- ShardingSphereTableData actual = persistService.load("foo_db", "foo_schema", table);
+ TableStatistics actual = persistService.load("foo_db", "foo_schema", table);
assertThat(actual.getName(), is("foo_tbl"));
assertTrue(actual.getRows().isEmpty());
}
diff --git a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
index 02b8937a081..13de2b05da4 100644
--- a/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
+++ b/mode/core/src/test/java/org/apache/shardingsphere/mode/metadata/refresher/ShardingSphereStatisticsRefreshEngineTest.java
@@ -25,10 +25,10 @@ import org.apache.shardingsphere.infra.metadata.database.ShardingSphereDatabase;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereColumn;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereSchema;
import org.apache.shardingsphere.infra.metadata.database.schema.model.ShardingSphereTable;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereDatabaseData;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereSchemaData;
+import org.apache.shardingsphere.infra.metadata.statistics.DatabaseStatistics;
+import org.apache.shardingsphere.infra.metadata.statistics.SchemaStatistics;
import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereStatistics;
-import org.apache.shardingsphere.infra.metadata.statistics.ShardingSphereTableData;
+import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.test.util.PropertiesBuilder;
import org.apache.shardingsphere.test.util.PropertiesBuilder.Property;
@@ -60,17 +60,17 @@ class ShardingSphereStatisticsRefreshEngineTest {
PropertiesBuilder.build(new Property(TemporaryConfigurationPropertyKey.PROXY_META_DATA_COLLECTOR_ENABLED.getKey(), Boolean.TRUE.toString()))));
when(contextManager.getComputeNodeInstanceContext().getLockContext().tryLock(any(), anyLong())).thenReturn(true);
new ShardingSphereStatisticsRefreshEngine(contextManager).refresh();
- verify(contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereDataPersistService()).update(any());
+ verify(contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereStatisticsPersistService()).update(any());
}
private ShardingSphereStatistics mockStatistics() {
ShardingSphereStatistics result = new ShardingSphereStatistics();
- ShardingSphereDatabaseData databaseData = new ShardingSphereDatabaseData();
- ShardingSphereSchemaData schemaData = new ShardingSphereSchemaData();
- databaseData.getSchemaData().put("foo_schema", schemaData);
- ShardingSphereTableData tableData = new ShardingSphereTableData("test_table");
- schemaData.getTableData().put("test_table", tableData);
- result.getDatabaseData().put("foo_db", databaseData);
+ DatabaseStatistics databaseStatistics = new DatabaseStatistics();
+ SchemaStatistics schemaStatistics = new SchemaStatistics();
+ databaseStatistics.getSchemaStatisticsMap().put("foo_schema", schemaStatistics);
+ TableStatistics tableStatistics = new TableStatistics("test_table");
+ schemaStatistics.getTableStatisticsMap().put("test_table", tableStatistics);
+ result.getDatabaseStatisticsMap().put("foo_db", databaseStatistics);
return result;
}
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandler.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandler.java
index ca5fc2c6fa4..eb3c28edc62 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandler.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandler.java
@@ -86,10 +86,10 @@ public final class ShardingSphereStatisticsChangedHandler implements DataChanged
switch (type) {
case ADDED:
case UPDATED:
- databaseManager.addShardingSphereDatabaseData(databaseName);
+ databaseManager.addDatabaseStatistics(databaseName);
return;
case DELETED:
- databaseManager.dropShardingSphereDatabaseData(databaseName);
+ databaseManager.dropDatabaseStatistics(databaseName);
return;
default:
}
@@ -99,10 +99,10 @@ public final class ShardingSphereStatisticsChangedHandler implements DataChanged
switch (type) {
case ADDED:
case UPDATED:
- databaseManager.addShardingSphereSchemaData(databaseName, schemaName);
+ databaseManager.addSchemaStatistics(databaseName, schemaName);
return;
case DELETED:
- databaseManager.dropShardingSphereSchemaData(databaseName, schemaName);
+ databaseManager.dropSchemaStatistics(databaseName, schemaName);
return;
default:
}
@@ -112,10 +112,10 @@ public final class ShardingSphereStatisticsChangedHandler implements DataChanged
switch (type) {
case ADDED:
case UPDATED:
- databaseManager.addShardingSphereTableData(databaseName, schemaName, tableName);
+ databaseManager.addTableStatistics(databaseName, schemaName, tableName);
return;
case DELETED:
- databaseManager.dropShardingSphereTableData(databaseName, schemaName, tableName);
+ databaseManager.dropTableStatistics(databaseName, schemaName, tableName);
return;
default:
}
diff --git a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
index d1a43208e91..4721e0b89cc 100644
--- a/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
+++ b/mode/type/cluster/core/src/main/java/org/apache/shardingsphere/mode/manager/cluster/persist/service/ClusterMetaDataManagerPersistService.java
@@ -183,9 +183,9 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag
}
private void afterStorageUnitsAltered(final String databaseName, final MetaDataContexts originalMetaDataContexts, final MetaDataContexts reloadMetaDataContexts) {
- Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
- .ifPresent(optional -> optional.getSchemaData().forEach((schemaName, schemaData) -> metaDataPersistService.getShardingSphereDataPersistService()
- .persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName), schemaName, schemaData)));
+ Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseStatisticsMap().get(databaseName))
+ .ifPresent(optional -> optional.getSchemaStatisticsMap().forEach((schemaName, schemaStatistics) -> metaDataPersistService.getShardingSphereStatisticsPersistService()
+ .persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName), schemaName, schemaStatistics)));
metaDataPersistService.persistReloadDatabaseByAlter(databaseName, reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
}
@@ -193,9 +193,9 @@ public final class ClusterMetaDataManagerPersistService implements MetaDataManag
private void afterStorageUnitsDropped(final String databaseName, final MetaDataContexts originalMetaDataContexts, final MetaDataContexts reloadMetaDataContexts) {
reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getAllSchemas().forEach(each -> metaDataPersistService.getDatabaseMetaDataFacade()
.getSchema().alterByRuleDropped(reloadMetaDataContexts.getMetaData().getDatabase(databaseName).getName(), each));
- Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseData().get(databaseName))
- .ifPresent(optional -> optional.getSchemaData().forEach((schemaName, schemaData) -> metaDataPersistService.getShardingSphereDataPersistService()
- .persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName), schemaName, schemaData)));
+ Optional.ofNullable(reloadMetaDataContexts.getStatistics().getDatabaseStatisticsMap().get(databaseName))
+ .ifPresent(optional -> optional.getSchemaStatisticsMap().forEach((schemaName, schemaStatistics) -> metaDataPersistService.getShardingSphereStatisticsPersistService()
+ .persist(originalMetaDataContexts.getMetaData().getDatabase(databaseName), schemaName, schemaStatistics)));
metaDataPersistService.persistReloadDatabaseByDrop(databaseName, reloadMetaDataContexts.getMetaData().getDatabase(databaseName),
originalMetaDataContexts.getMetaData().getDatabase(databaseName));
}
diff --git a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandlerTest.java b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandlerTest.java
index 8f492b6eba4..c5fbb7ca07e 100644
--- a/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandlerTest.java
+++ b/mode/type/cluster/core/src/test/java/org/apache/shardingsphere/mode/manager/cluster/dispatch/handler/global/ShardingSphereStatisticsChangedHandlerTest.java
@@ -53,37 +53,37 @@ class ShardingSphereStatisticsChangedHandlerTest {
@Test
void assertHandleWithDatabaseAdded() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db", "", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addShardingSphereDatabaseData("foo_db");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addDatabaseStatistics("foo_db");
}
@Test
void assertHandleWithDatabaseDeleted() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db", "", Type.DELETED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropShardingSphereDatabaseData("foo_db");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropDatabaseStatistics("foo_db");
}
@Test
void assertHandleWithSchemaAdded() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema", "", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addShardingSphereSchemaData("foo_db", "foo_schema");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addSchemaStatistics("foo_db", "foo_schema");
}
@Test
void assertHandleWithSchemaDeleted() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema", "", Type.DELETED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropShardingSphereSchemaData("foo_db", "foo_schema");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropSchemaStatistics("foo_db", "foo_schema");
}
@Test
void assertHandleWithTableAdded() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema/tables/foo_tbl", "", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addShardingSphereTableData("foo_db", "foo_schema", "foo_tbl");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).addTableStatistics("foo_db", "foo_schema", "foo_tbl");
}
@Test
void assertHandleWithTableDeleted() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema/tables/foo_tbl", "", Type.DELETED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropShardingSphereTableData("foo_db", "foo_schema", "foo_tbl");
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager()).dropTableStatistics("foo_db", "foo_schema", "foo_tbl");
}
@Test
@@ -103,19 +103,19 @@ class ShardingSphereStatisticsChangedHandlerTest {
@Test
void assertHandleWithMissedDatabaseNameEventKey() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases", "=", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addShardingSphereDatabaseData(any());
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addDatabaseStatistics(any());
}
@Test
void assertHandleWithMissedSchemaNameEventKey() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas", "=", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addShardingSphereSchemaData(any(), any());
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addSchemaStatistics(any(), any());
}
@Test
void assertHandleWithMissedTableNameEventKey() {
handler.handle(contextManager, new DataChangedEvent("/statistics/databases/foo_db/schemas/foo_schema/tables", "", Type.ADDED));
- verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addShardingSphereTableData(any(), any(), any());
+ verify(contextManager.getMetaDataContextManager().getDatabaseManager(), times(0)).addTableStatistics(any(), any(), any());
}
@Test
diff --git a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
index c34b27ff648..e3170755ffb 100644
--- a/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
+++ b/test/it/pipeline/src/test/java/org/apache/shardingsphere/test/it/data/pipeline/core/util/PipelineContextUtils.java
@@ -145,7 +145,7 @@ public final class PipelineContextUtils {
new ShardingSphereColumn("status", Types.VARCHAR, false, false, false, true, false, false)),
Collections.emptyList(), Collections.emptyList()));
tables.forEach(each -> old.getMetaData().getDatabase("logic_db").getSchema("logic_db").putTable(each));
- return new MetaDataContexts(old.getMetaData(), ShardingSphereStatisticsFactory.create(old.getMetaData(), persistService.getShardingSphereDataPersistService().load(old.getMetaData())));
+ return new MetaDataContexts(old.getMetaData(), ShardingSphereStatisticsFactory.create(old.getMetaData(), persistService.getShardingSphereStatisticsPersistService().load(old.getMetaData())));
}
/**