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