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

yx9o 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 76d320d1947 Refactor ShowTablesExecutor (#31299)
76d320d1947 is described below

commit 76d320d19475dac69468822e3226b6752bcc44de
Author: Liang Zhang <[email protected]>
AuthorDate: Sun May 19 16:20:18 2024 +0800

    Refactor ShowTablesExecutor (#31299)
---
 .../backend/mysql/handler/admin/executor/ShowTablesExecutor.java | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git 
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutor.java
 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutor.java
index 65ab2189309..4c1478dee34 100644
--- 
a/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutor.java
+++ 
b/proxy/backend/type/mysql/src/main/java/org/apache/shardingsphere/proxy/backend/mysql/handler/admin/executor/ShowTablesExecutor.java
@@ -84,8 +84,7 @@ public final class ShowTablesExecutor implements 
DatabaseAdminQueryExecutor {
         if (!systemDatabase.getSystemSchemas().contains(databaseName) && 
!ProxyContext.getInstance().getContextManager().getDatabase(databaseName).isComplete())
 {
             return new RawMemoryQueryResult(queryResultMetaData, 
Collections.emptyList());
         }
-        Collection<ShardingSphereTable> sortedTables = 
getTables(databaseName).stream().sorted(Comparator.comparing(ShardingSphereTable::getName)).collect(Collectors.toList());
-        List<MemoryQueryResultDataRow> rows = sortedTables.stream().map(each 
-> {
+        List<MemoryQueryResultDataRow> rows = 
getTables(databaseName).stream().map(each -> {
             List<Object> rowValues = new LinkedList<>();
             rowValues.add(each.getName());
             if (showTablesStatement.isContainsFull()) {
@@ -97,9 +96,11 @@ public final class ShowTablesExecutor implements 
DatabaseAdminQueryExecutor {
     }
     
     private Collection<ShardingSphereTable> getTables(final String 
databaseName) {
-        Collection<ShardingSphereTable> result = 
ProxyContext.getInstance().getContextManager().getDatabase(databaseName).getSchema(databaseName).getTables().values();
+        Collection<ShardingSphereTable> tables = 
ProxyContext.getInstance().getContextManager().getDatabase(databaseName).getSchema(databaseName).getTables().values();
         Optional<Pattern> likePattern = getLikePattern();
-        return likePattern.isPresent() ? result.stream().filter(each -> 
likePattern.get().matcher(each.getName()).matches()).collect(Collectors.toList())
 : result;
+        return likePattern.isPresent()
+                ? tables.stream().filter(each -> 
likePattern.get().matcher(each.getName()).matches()).sorted(Comparator.comparing(ShardingSphereTable::getName)).collect(Collectors.toList())
+                : tables;
     }
     
     private Optional<Pattern> getLikePattern() {

Reply via email to