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/05/08 02:17:07 UTC
(shardingsphere) branch master updated: Optimize code structure and improve return type handling (#35343)
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 55084a896ed Optimize code structure and improve return type handling (#35343)
55084a896ed is described below
commit 55084a896ed48386eac224fad385192106c3c75d
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Thu May 8 10:17:01 2025 +0800
Optimize code structure and improve return type handling (#35343)
- Remove void methods and replace with returning Collection
- Wrap naked return with Collections.emptyList()
- Extract method to collect table statistics
- Improve code readability and maintainability
---
.../data/ShardingTableStatisticsCollector.java | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
index f3715a72a20..6c47db3af9f 100644
--- a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
+++ b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/metadata/data/ShardingTableStatisticsCollector.java
@@ -38,6 +38,7 @@ import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Collection;
+import java.util.Collections;
import java.util.LinkedList;
import java.util.Map;
import java.util.Optional;
@@ -56,24 +57,25 @@ public final class ShardingTableStatisticsCollector implements ShardingSphereTab
DialectDatabaseMetaData dialectDatabaseMetaData = new DatabaseTypeRegistry(protocolType).getDialectDatabaseMetaData();
currentId = 1;
if (dialectDatabaseMetaData.getSchemaOption().getDefaultSchema().isPresent()) {
- collectFromDatabase(metaData.getDatabase(databaseName), result);
+ result.addAll(collectFromDatabase(metaData.getDatabase(databaseName)));
} else {
for (ShardingSphereDatabase each : metaData.getAllDatabases()) {
- collectFromDatabase(each, result);
+ result.addAll(collectFromDatabase(each));
}
}
return result;
}
- private void collectFromDatabase(final ShardingSphereDatabase database, final Collection<Map<String, Object>> rows) throws SQLException {
+ private Collection<Map<String, Object>> collectFromDatabase(final ShardingSphereDatabase database) throws SQLException {
Optional<ShardingRule> rule = database.getRuleMetaData().findSingleRule(ShardingRule.class);
if (!rule.isPresent()) {
- return;
+ return Collections.emptyList();
}
- collectForShardingStatisticTable(database, rule.get(), rows);
+ return collectForShardingStatisticTable(database, rule.get());
}
- private void collectForShardingStatisticTable(final ShardingSphereDatabase database, final ShardingRule rule, final Collection<Map<String, Object>> rows) throws SQLException {
+ private Collection<Map<String, Object>> collectForShardingStatisticTable(final ShardingSphereDatabase database, final ShardingRule rule) throws SQLException {
+ Collection<Map<String, Object>> result = new LinkedList<>();
for (ShardingTable each : rule.getShardingTables().values()) {
for (DataNode dataNode : each.getActualDataNodes()) {
Map<String, Object> rowColumnValues = new CaseInsensitiveMap<>();
@@ -83,13 +85,14 @@ public final class ShardingTableStatisticsCollector implements ShardingSphereTab
rowColumnValues.put("actual_database_name", dataNode.getDataSourceName());
rowColumnValues.put("actual_table_name", dataNode.getTableName());
addTableRowsAndDataLength(database.getResourceMetaData().getStorageUnits(), dataNode, rowColumnValues, rule);
- rows.add(rowColumnValues);
+ result.add(rowColumnValues);
}
}
+ return result;
}
- private void addTableRowsAndDataLength(final Map<String, StorageUnit> storageUnits, final DataNode dataNode, final Map<String, Object> rowColumnValues,
- final ShardingRule rule) throws SQLException {
+ private void addTableRowsAndDataLength(final Map<String, StorageUnit> storageUnits,
+ final DataNode dataNode, final Map<String, Object> rowColumnValues, final ShardingRule rule) throws SQLException {
DataSource dataSource;
DatabaseType databaseType;
StorageUnit storageUnit = storageUnits.get(dataNode.getDataSourceName());