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());

Reply via email to