stalary commented on code in PR #9526:
URL: https://github.com/apache/incubator-doris/pull/9526#discussion_r871499221


##########
docs/zh-CN/sql-manual/sql-reference/Show-Statements/SHOW-LOAD.md:
##########
@@ -51,20 +51,22 @@ SHOW LOAD
 说明:
 
 1) 如果不指定 db_name,使用当前默认db
+
+1) db_name 和 ALL 只能选择一个,当使用 ALL 时(目前支持root用户使用),将查询集群所有db的导入任务
     
-2)  如果使用 LABEL LIKE,则会匹配导入任务的 label 包含 label_matcher 的导入任务
+1)  如果使用 LABEL LIKE,则会匹配导入任务的 label 包含 label_matcher 的导入任务

Review Comment:
   There seems to be something wrong with the number?



##########
fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java:
##########
@@ -61,6 +62,17 @@ public class ShowLoadStmt extends ShowStmt {
     public ShowLoadStmt(String db, Expr labelExpr, List<OrderByElement> 
orderByElements, LimitElement limitElement) {
         this.dbName = db;
         this.whereClause = labelExpr;
+        this.isAll=false;
+        this.orderByElements = orderByElements;
+        this.limitElement = limitElement;
+
+        this.labelValue = null;
+        this.stateValue = null;
+        this.isAccurateMatch = false;
+    }
+    public ShowLoadStmt(boolean isAll, Expr labelExpr, List<OrderByElement> 
orderByElements, LimitElement limitElement) {

Review Comment:
   Add a newline



##########
fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java:
##########
@@ -61,6 +62,17 @@ public class ShowLoadStmt extends ShowStmt {
     public ShowLoadStmt(String db, Expr labelExpr, List<OrderByElement> 
orderByElements, LimitElement limitElement) {
         this.dbName = db;
         this.whereClause = labelExpr;
+        this.isAll=false;

Review Comment:
   There are blank before and after the equals sign.



##########
fe/fe-core/src/main/java/org/apache/doris/analysis/ShowLoadStmt.java:
##########
@@ -256,13 +273,16 @@ private void analyzeSubPredicate(Expr subExpr) throws 
AnalysisException {
     @Override
     public String toSql() {
         StringBuilder sb = new StringBuilder();
-        sb.append("SHOW LOAD ");
-        if (!Strings.isNullOrEmpty(dbName)) {
-            sb.append("FROM `").append(dbName).append("`");
+        if(isAll){

Review Comment:
   format.



##########
fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java:
##########
@@ -993,21 +995,40 @@ private void handleShowLoad() throws AnalysisException {
         ShowLoadStmt showStmt = (ShowLoadStmt) stmt;
 
         Catalog catalog = Catalog.getCurrentCatalog();
-        Database db = catalog.getDbOrAnalysisException(showStmt.getDbName());
-        long dbId = db.getId();
+        List<Database> dbList=Lists.newArrayList();
+
+        if(showStmt.getIsAll()){
+            if(ctx.getCurrentUserIdentity().getQualifiedUser().equals("root")){

Review Comment:
   suggest
   ```java
   ctx.getCurrentUserIdentity().isRootUser()
   ```



##########
fe/fe-core/src/test/java/org/apache/doris/analysis/ShowLoadStmtTest.java:
##########
@@ -78,6 +80,13 @@ public void testNormal() throws UserException, 
AnalysisException {
         Assert.assertEquals("SHOW LOAD FROM `testCluster:testDb`", 
stmt.toString());
     }
 
+    @Test
+    public void testAllDb() throws UserException, AnalysisException {

Review Comment:
   You can replace the old tests with extends TestWithFeService



##########
docs/zh-CN/sql-manual/sql-reference/Show-Statements/SHOW-LOAD.md:
##########
@@ -78,40 +80,46 @@ SHOW LOAD
     SHOW LOAD;
     ```
 
-2. 展示指定 db 的导入任务,label 中包含字符串 "2014_01_02",展示最老的10个
+1. 展示所有db的所有导入任务(root 用户执行)
+    
+   ```sql
+    SHOW LOAD ALL;
+    ```
+
+1. 展示指定 db 的导入任务,label 中包含字符串 "2014_01_02",展示最老的10个

Review Comment:
   There seems to be something wrong with the number?



##########
fe/fe-core/src/test/java/org/apache/doris/analysis/ShowLoadStmtTest.java:
##########
@@ -122,6 +131,31 @@ public void testWhere() throws UserException, 
AnalysisException {
         stmt.analyze(analyzer);
         Assert.assertEquals("SHOW LOAD FROM `testCluster:testDb` WHERE `state` 
= \'PENDING\' LIMIT 10", stmt.toString());
     }
+    @Test
+    public void testAllDbWhere() throws UserException, AnalysisException {
+        ShowLoadStmt stmt = new ShowLoadStmt(true, null, null, null);
+        stmt.analyze(analyzer);
+        Assert.assertEquals("SHOW LOAD ALL ", stmt.toString());
+
+        SlotRef slotRef = new SlotRef(null, "label");

Review Comment:
   use parseAndAnalyzeStmt.



##########
fe/fe-core/src/test/java/org/apache/doris/analysis/ShowLoadStmtTest.java:
##########
@@ -156,5 +190,39 @@ public void testInvalidWhereClause() throws 
AnalysisException {
                 () -> stmt2.analyze(analyzer));
 
 
+    }
+    @Test
+    public void testAllDbInvalidWhereClause() throws AnalysisException {
+        //test:  WHERE label="abc" AND label LIKE "def";  --> AnalysisException
+        SlotRef slotRef1 = new SlotRef(null, "label");

Review Comment:
   use parseAndAnalyzeStmt.



##########
fe/fe-core/src/main/java/org/apache/doris/qe/ShowExecutor.java:
##########
@@ -993,21 +995,40 @@ private void handleShowLoad() throws AnalysisException {
         ShowLoadStmt showStmt = (ShowLoadStmt) stmt;
 
         Catalog catalog = Catalog.getCurrentCatalog();
-        Database db = catalog.getDbOrAnalysisException(showStmt.getDbName());
-        long dbId = db.getId();
+        List<Database> dbList=Lists.newArrayList();

Review Comment:
   format.
   http://doris.incubator.apache.org/zh-CN/developer-guide/java-format-code.html



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to