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 <[email protected]>
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());