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

morningman pushed a commit to branch branch-1.2-unstable
in repository https://gitbox.apache.org/repos/asf/doris.git

commit cd1fffa92f5c87305ef751466cd9c9bddbf5d67b
Author: Yulei-Yang <yulei.yang0...@gmail.com>
AuthorDate: Wed Nov 30 11:55:14 2022 +0800

    [improvement](planner)sort show catalogs result by name (#14684)
    
    Result of show databases, show tables, show data are all sorted by name, so 
make show catalogs behavior same.
---
 .../src/main/java/org/apache/doris/datasource/CatalogMgr.java      | 7 ++++++-
 .../src/test/java/org/apache/doris/datasource/CatalogMgrTest.java  | 4 ++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java 
b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
index fbd6a75d2c..75e38f39b8 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogMgr.java
@@ -303,7 +303,7 @@ public class CatalogMgr implements Writable, 
GsonPostProcessable {
                     if (Env.getCurrentEnv().getAuth()
                             .checkCtlPriv(ConnectContext.get(), 
catalog.getName(), PrivPredicate.SHOW)) {
                         String name = catalog.getName();
-                        // Filter dbname
+                        // Filter catalog name
                         if (matcher != null && !matcher.match(name)) {
                             continue;
                         }
@@ -313,6 +313,11 @@ public class CatalogMgr implements Writable, 
GsonPostProcessable {
                         row.add(catalog.getType());
                         rows.add(row);
                     }
+
+                    // sort by catalog name
+                    rows.sort((x, y) -> {
+                        return x.get(1).compareTo(y.get(1));
+                    });
                 }
             } else {
                 if (!nameToCatalog.containsKey(showStmt.getCatalogName())) {
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java
index 0c62ea4c6f..781d94b491 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/datasource/CatalogMgrTest.java
@@ -158,6 +158,10 @@ public class CatalogMgrTest extends TestWithFeService {
         ShowResultSet showResultSet = mgr.showCatalogs(showStmt);
         Assertions.assertEquals(5, showResultSet.getResultRows().size());
 
+        //test result order
+        Assertions.assertEquals("es", 
showResultSet.getResultRows().get(0).get(1));
+        Assertions.assertEquals("internal", 
showResultSet.getResultRows().get(4).get(1));
+
         showCatalogSql = "SHOW CATALOGS LIKE 'hms%'";
         showStmt = (ShowCatalogStmt) parseAndAnalyzeStmt(showCatalogSql);
         showResultSet = mgr.showCatalogs(showStmt);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to