Skip to content

Commit

Permalink
Rename AlteredDatabaseStatistics (#34438)
Browse files Browse the repository at this point in the history
* Move package of ShardingSphereStatisticsPersistService

* Rename AlteredDatabaseStatistics

* Rename AlteredDatabaseStatistics

* Rename AlteredDatabaseStatistics
  • Loading branch information
terrymanu authored Jan 23, 2025
1 parent 25fcd6f commit f3f453c
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@
import java.util.LinkedList;

/**
* Altered ShardingSphere database data.
* Altered database statistics.
*/
@RequiredArgsConstructor
@Getter
public final class AlteredShardingSphereDatabaseData {
public final class AlteredDatabaseStatistics {

private final String databaseName;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -116,12 +116,15 @@ private void persistTableData(final String databaseName, final String schemaName
/**
* Update ShardingSphere database data.
*
* @param alteredData altered ShardingSphere database data
* @param alteredDatabaseStatistics altered database statistics
*/
public void update(final AlteredShardingSphereDatabaseData alteredData) {
tableRowDataPersistService.persist(alteredData.getDatabaseName(), alteredData.getSchemaName(), alteredData.getTableName(), alteredData.getAddedRows());
tableRowDataPersistService.persist(alteredData.getDatabaseName(), alteredData.getSchemaName(), alteredData.getTableName(), alteredData.getUpdatedRows());
tableRowDataPersistService.delete(alteredData.getDatabaseName(), alteredData.getSchemaName(), alteredData.getTableName(), alteredData.getDeletedRows());
public void update(final AlteredDatabaseStatistics alteredDatabaseStatistics) {
tableRowDataPersistService.persist(alteredDatabaseStatistics.getDatabaseName(), alteredDatabaseStatistics.getSchemaName(), alteredDatabaseStatistics.getTableName(),
alteredDatabaseStatistics.getAddedRows());
tableRowDataPersistService.persist(alteredDatabaseStatistics.getDatabaseName(), alteredDatabaseStatistics.getSchemaName(), alteredDatabaseStatistics.getTableName(),
alteredDatabaseStatistics.getUpdatedRows());
tableRowDataPersistService.delete(alteredDatabaseStatistics.getDatabaseName(), alteredDatabaseStatistics.getSchemaName(), alteredDatabaseStatistics.getTableName(),
alteredDatabaseStatistics.getDeletedRows());
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
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.YamlRowStatisticsSwapper;
import org.apache.shardingsphere.mode.metadata.persist.statistics.AlteredShardingSphereDatabaseData;
import org.apache.shardingsphere.mode.metadata.persist.statistics.AlteredDatabaseStatistics;
import org.apache.shardingsphere.mode.lock.global.GlobalLockDefinition;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.refresher.lock.StatisticsLock;
Expand Down Expand Up @@ -177,14 +177,14 @@ private void compareAndUpdateForTable(final String databaseName, final String sc
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);
AlteredDatabaseStatistics alteredDatabaseStatistics = createAlteredDatabaseStatistics(databaseName, schemaName, tableStatistics, changedTableStatistics, table);
contextManager.getPersistServiceFacade().getMetaDataPersistService().getShardingSphereStatisticsPersistService().update(alteredDatabaseStatistics);
}
}

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());
private AlteredDatabaseStatistics createAlteredDatabaseStatistics(final String databaseName, final String schemaName, final TableStatistics tableStatistics,
final TableStatistics changedTableStatistics, final ShardingSphereTable table) {
AlteredDatabaseStatistics result = new AlteredDatabaseStatistics(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()));
YamlRowStatisticsSwapper swapper = new YamlRowStatisticsSwapper(new ArrayList<>(table.getAllColumns()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import org.apache.shardingsphere.infra.metadata.statistics.TableStatistics;
import org.apache.shardingsphere.infra.yaml.data.pojo.YamlRowStatistics;
import org.apache.shardingsphere.mode.metadata.persist.metadata.table.TableRowDataPersistService;
import org.apache.shardingsphere.mode.metadata.persist.statistics.AlteredShardingSphereDatabaseData;
import org.apache.shardingsphere.mode.metadata.persist.statistics.AlteredDatabaseStatistics;
import org.apache.shardingsphere.mode.metadata.persist.statistics.ShardingSphereStatisticsPersistService;
import org.apache.shardingsphere.mode.spi.repository.PersistRepository;
import org.junit.jupiter.api.BeforeEach;
Expand Down Expand Up @@ -115,11 +115,11 @@ void assertUpdate() {
Collection<YamlRowStatistics> addedRows = Collections.singletonList(mock(YamlRowStatistics.class));
Collection<YamlRowStatistics> updatedRows = Collections.singletonList(mock(YamlRowStatistics.class));
Collection<YamlRowStatistics> deletedRows = Collections.singletonList(mock(YamlRowStatistics.class));
AlteredShardingSphereDatabaseData alteredData = new AlteredShardingSphereDatabaseData("foo_db", "foo_schema", "foo_tbl");
alteredData.getAddedRows().addAll(addedRows);
alteredData.getUpdatedRows().addAll(updatedRows);
alteredData.getDeletedRows().addAll(deletedRows);
persistService.update(alteredData);
AlteredDatabaseStatistics alteredDatabaseStatistics = new AlteredDatabaseStatistics("foo_db", "foo_schema", "foo_tbl");
alteredDatabaseStatistics.getAddedRows().addAll(addedRows);
alteredDatabaseStatistics.getUpdatedRows().addAll(updatedRows);
alteredDatabaseStatistics.getDeletedRows().addAll(deletedRows);
persistService.update(alteredDatabaseStatistics);
verify(tableRowDataPersistService).persist("foo_db", "foo_schema", "foo_tbl", addedRows);
verify(tableRowDataPersistService).persist("foo_db", "foo_schema", "foo_tbl", updatedRows);
verify(tableRowDataPersistService).delete("foo_db", "foo_schema", "foo_tbl", deletedRows);
Expand Down

0 comments on commit f3f453c

Please sign in to comment.