This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang 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 c8abd19bb73 Fix sonar issue for LogicTablesMergedResult (#25618)
c8abd19bb73 is described below

commit c8abd19bb73a6ee42ffa5e860472d6a84a8af46d
Author: Liang Zhang <[email protected]>
AuthorDate: Fri May 12 19:24:10 2023 +0800

    Fix sonar issue for LogicTablesMergedResult (#25618)
---
 .../merge/dal/show/LogicTablesMergedResult.java    | 35 ++++++++++++----------
 1 file changed, 19 insertions(+), 16 deletions(-)

diff --git 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
index 3ad7402ded9..09c9ac9f8ec 100644
--- 
a/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
+++ 
b/features/sharding/core/src/main/java/org/apache/shardingsphere/sharding/merge/dal/show/LogicTablesMergedResult.java
@@ -50,27 +50,30 @@ public class LogicTablesMergedResult extends 
MemoryMergedResult<ShardingRule> {
         Set<String> tableNames = new HashSet<>();
         for (QueryResult each : queryResults) {
             while (each.next()) {
-                MemoryQueryResultRow memoryResultSetRow = new 
MemoryQueryResultRow(each);
-                String actualTableName = 
memoryResultSetRow.getCell(1).toString();
-                Optional<TableRule> tableRule = 
shardingRule.findTableRuleByActualTable(actualTableName);
-                if (tableRule.isPresent()) {
-                    if (tableNames.add(tableRule.get().getLogicTable())) {
-                        String logicTableName = 
tableRule.get().getLogicTable();
-                        memoryResultSetRow.setCell(1, logicTableName);
-                        setCellValue(memoryResultSetRow, logicTableName, 
actualTableName, schema.getTable(logicTableName), shardingRule);
-                        result.add(memoryResultSetRow);
-                    }
-                } else {
-                    if (shardingRule.getTableRules().isEmpty() || 
tableNames.add(actualTableName)) {
-                        setCellValue(memoryResultSetRow, actualTableName, 
actualTableName, schema.getTable(actualTableName), shardingRule);
-                        result.add(memoryResultSetRow);
-                    }
-                }
+                createMemoryQueryResultRow(shardingRule, schema, each, 
tableNames).ifPresent(result::add);
             }
         }
         return result;
     }
     
+    private Optional<MemoryQueryResultRow> createMemoryQueryResultRow(final 
ShardingRule shardingRule,
+                                                                      final 
ShardingSphereSchema schema, final QueryResult queryResult, final Set<String> 
tableNames) throws SQLException {
+        MemoryQueryResultRow memoryResultSetRow = new 
MemoryQueryResultRow(queryResult);
+        String actualTableName = memoryResultSetRow.getCell(1).toString();
+        Optional<TableRule> tableRule = 
shardingRule.findTableRuleByActualTable(actualTableName);
+        if (tableRule.isPresent() && 
tableNames.add(tableRule.get().getLogicTable())) {
+            String logicTableName = tableRule.get().getLogicTable();
+            memoryResultSetRow.setCell(1, logicTableName);
+            setCellValue(memoryResultSetRow, logicTableName, actualTableName, 
schema.getTable(logicTableName), shardingRule);
+            return Optional.of(memoryResultSetRow);
+        }
+        if (shardingRule.getTableRules().isEmpty() || 
tableNames.add(actualTableName)) {
+            setCellValue(memoryResultSetRow, actualTableName, actualTableName, 
schema.getTable(actualTableName), shardingRule);
+            return Optional.of(memoryResultSetRow);
+        }
+        return Optional.empty();
+    }
+    
     protected void setCellValue(final MemoryQueryResultRow memoryResultSetRow,
                                 final String logicTableName, final String 
actualTableName, final ShardingSphereTable table, final ShardingRule 
shardingRule) {
     }

Reply via email to