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