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) {
}