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

sunnianjun 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 f3a46702ab3 Refactor CountSingleTableExecutor (#23780)
f3a46702ab3 is described below

commit f3a46702ab3ea279ef977d569e4ceaffd022f743
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Jan 28 17:51:37 2023 +0800

    Refactor CountSingleTableExecutor (#23780)
---
 .../distsql/rql/rule/CountSingleTableExecutor.java       | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/rule/CountSingleTableExecutor.java
 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/rule/CountSingleTableExecutor.java
index fbc65511c0b..1bbff063f64 100644
--- 
a/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/rule/CountSingleTableExecutor.java
+++ 
b/proxy/backend/src/main/java/org/apache/shardingsphere/proxy/backend/handler/distsql/rql/rule/CountSingleTableExecutor.java
@@ -25,23 +25,17 @@ import org.apache.shardingsphere.single.rule.SingleRule;
 
 import java.util.Arrays;
 import java.util.Collection;
-import java.util.LinkedList;
-import java.util.Optional;
+import java.util.Collections;
 
 /**
  * Count single table executor.
  */
 public final class CountSingleTableExecutor implements 
RQLExecutor<CountSingleTableStatement> {
     
-    private String databaseName;
-    
     @Override
     public Collection<LocalDataQueryResultRow> getRows(final 
ShardingSphereDatabase database, final CountSingleTableStatement sqlStatement) {
-        Optional<SingleRule> rule = 
database.getRuleMetaData().findSingleRule(SingleRule.class);
-        databaseName = database.getName();
-        Collection<LocalDataQueryResultRow> result = new LinkedList<>();
-        rule.ifPresent(optional -> addSingleTableData(result, databaseName, 
rule.get()));
-        return result;
+        SingleRule rule = 
database.getRuleMetaData().getSingleRule(SingleRule.class);
+        return Collections.singleton(new 
LocalDataQueryResultRow(database.getName(), rule.getAllTables().size()));
     }
     
     @Override
@@ -49,10 +43,6 @@ public final class CountSingleTableExecutor implements 
RQLExecutor<CountSingleTa
         return Arrays.asList("database", "count");
     }
     
-    private void addSingleTableData(final Collection<LocalDataQueryResultRow> 
row, final String databaseName, final SingleRule rule) {
-        row.add(new LocalDataQueryResultRow(databaseName, 
rule.getAllTables().size()));
-    }
-    
     @Override
     public String getType() {
         return CountSingleTableStatement.class.getName();

Reply via email to