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

starocean999 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 653e934eff7 [Chore](nereids) remove AlterSqlBlockRuleStmt (#54535)
653e934eff7 is described below

commit 653e934eff710a42fbbd17ce47b6abe286b479c9
Author: yaoxiao <[email protected]>
AuthorDate: Tue Aug 12 17:09:54 2025 +0800

    [Chore](nereids) remove AlterSqlBlockRuleStmt (#54535)
---
 fe/fe-core/src/main/cup/sql_parser.cup             |   5 -
 .../doris/analysis/AlterSqlBlockRuleStmt.java      | 146 ---------------------
 .../org/apache/doris/blockrule/SqlBlockRule.java   |   6 -
 .../apache/doris/blockrule/SqlBlockRuleMgr.java    |  15 +--
 .../plans/commands/AlterSqlBlockRuleCommand.java   |   2 +
 .../trees/plans/commands/SqlBlockRuleCommand.java  |  32 +++++
 .../main/java/org/apache/doris/qe/DdlExecutor.java |   3 -
 .../apache/doris/utframe/TestWithFeService.java    |   9 +-
 8 files changed, 45 insertions(+), 173 deletions(-)

diff --git a/fe/fe-core/src/main/cup/sql_parser.cup 
b/fe/fe-core/src/main/cup/sql_parser.cup
index 0ad7f6a5f91..af388c956a9 100644
--- a/fe/fe-core/src/main/cup/sql_parser.cup
+++ b/fe/fe-core/src/main/cup/sql_parser.cup
@@ -1269,11 +1269,6 @@ alter_stmt ::=
     {:
         RESULT = new AlterTableStmt(tbl, clauses);
     :}
-    | KW_ALTER KW_SQL_BLOCK_RULE ident:ruleName
-    opt_properties:properties
-    {:
-        RESULT = new AlterSqlBlockRuleStmt(ruleName, properties);
-    :}
     | KW_ALTER KW_TABLE table_name:tbl KW_SET LPAREN key_value_map:properties 
RPAREN
     {:
         ModifyTablePropertiesClause clause = new 
ModifyTablePropertiesClause(properties);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java
deleted file mode 100644
index d0d8e86de4b..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterSqlBlockRuleStmt.java
+++ /dev/null
@@ -1,146 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.analysis;
-
-import org.apache.doris.catalog.Env;
-import org.apache.doris.common.AnalysisException;
-import org.apache.doris.common.ErrorCode;
-import org.apache.doris.common.ErrorReport;
-import org.apache.doris.common.UserException;
-import org.apache.doris.common.util.PrintableMap;
-import org.apache.doris.common.util.SqlBlockUtil;
-import org.apache.doris.common.util.Util;
-import org.apache.doris.mysql.privilege.PrivPredicate;
-import org.apache.doris.qe.ConnectContext;
-
-import org.apache.commons.lang3.StringUtils;
-
-import java.util.Map;
-
-public class AlterSqlBlockRuleStmt extends DdlStmt implements 
NotFallbackInParser {
-
-    public static final Long LONG_NOT_SET = SqlBlockUtil.LONG_MINUS_ONE;
-
-    private final String ruleName;
-
-    private String sql;
-
-    private String sqlHash;
-
-    private Long partitionNum;
-
-    private Long tabletNum;
-
-    private Long cardinality;
-
-    private Boolean global;
-
-    private Boolean enable;
-
-    private final Map<String, String> properties;
-
-    public AlterSqlBlockRuleStmt(String ruleName, Map<String, String> 
properties) {
-        this.ruleName = ruleName;
-        this.properties = properties;
-    }
-
-    @Override
-    public void analyze() throws UserException {
-        super.analyze();
-        // check auth
-        if 
(!Env.getCurrentEnv().getAccessManager().checkGlobalPriv(ConnectContext.get(), 
PrivPredicate.ADMIN)) {
-            
ErrorReport.reportAnalysisException(ErrorCode.ERR_SPECIFIC_ACCESS_DENIED_ERROR, 
"ADMIN");
-        }
-        // check properties
-        CreateSqlBlockRuleStmt.checkCommonProperties(properties);
-        setProperties(properties);
-    }
-
-    private void setProperties(Map<String, String> properties) throws 
AnalysisException {
-        this.sql = 
properties.getOrDefault(CreateSqlBlockRuleStmt.SQL_PROPERTY, 
CreateSqlBlockRuleStmt.STRING_NOT_SET);
-        this.sqlHash = 
properties.getOrDefault(CreateSqlBlockRuleStmt.SQL_HASH_PROPERTY,
-                CreateSqlBlockRuleStmt.STRING_NOT_SET);
-        String partitionNumString = 
properties.get(CreateSqlBlockRuleStmt.SCANNED_PARTITION_NUM);
-        String tabletNumString = 
properties.get(CreateSqlBlockRuleStmt.SCANNED_TABLET_NUM);
-        String cardinalityString = 
properties.get(CreateSqlBlockRuleStmt.SCANNED_CARDINALITY);
-
-        SqlBlockUtil.checkSqlAndSqlHashSetBoth(sql, sqlHash);
-        SqlBlockUtil.checkSqlAndLimitationsSetBoth(sql, sqlHash,
-                partitionNumString, tabletNumString, cardinalityString);
-        this.partitionNum = Util.getLongPropertyOrDefault(partitionNumString, 
LONG_NOT_SET, null,
-                CreateSqlBlockRuleStmt.SCANNED_PARTITION_NUM + " should be a 
long");
-        this.tabletNum = Util.getLongPropertyOrDefault(tabletNumString, 
LONG_NOT_SET, null,
-                CreateSqlBlockRuleStmt.SCANNED_TABLET_NUM + " should be a 
long");
-        this.cardinality = Util.getLongPropertyOrDefault(cardinalityString, 
LONG_NOT_SET, null,
-                CreateSqlBlockRuleStmt.SCANNED_CARDINALITY + " should be a 
long");
-        // allow null, represents no modification
-        String globalStr = 
properties.get(CreateSqlBlockRuleStmt.GLOBAL_PROPERTY);
-        this.global = StringUtils.isNotEmpty(globalStr) ? 
Boolean.parseBoolean(globalStr) : null;
-        String enableStr = 
properties.get(CreateSqlBlockRuleStmt.ENABLE_PROPERTY);
-        this.enable = StringUtils.isNotEmpty(enableStr) ? 
Boolean.parseBoolean(enableStr) : null;
-    }
-
-    public String getRuleName() {
-        return ruleName;
-    }
-
-    public String getSql() {
-        return sql;
-    }
-
-    public Long getPartitionNum() {
-        return partitionNum;
-    }
-
-    public Long getTabletNum() {
-        return tabletNum;
-    }
-
-    public Long getCardinality() {
-        return cardinality;
-    }
-
-    public Boolean getGlobal() {
-        return global;
-    }
-
-    public Boolean getEnable() {
-        return enable;
-    }
-
-    public String getSqlHash() {
-        return sqlHash;
-    }
-
-    @Override
-    public String toSql() {
-        // ALTER SQL_BLOCK_RULE test_rule PROPERTIES("sql"="select \\* from 
test_table","enable"="true")
-        StringBuilder sb = new StringBuilder();
-        sb.append("ALTER SQL_BLOCK_RULE ")
-                .append(ruleName)
-                .append(" \nPROPERTIES(\n")
-                .append(new PrintableMap<>(properties, " = ", true, true, 
true))
-                .append(")");
-        return sb.toString();
-    }
-
-    @Override
-    public StmtType stmtType() {
-        return StmtType.ALTER;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRule.java 
b/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRule.java
index 41eecf94925..397408a4655 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRule.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRule.java
@@ -17,7 +17,6 @@
 
 package org.apache.doris.blockrule;
 
-import org.apache.doris.analysis.AlterSqlBlockRuleStmt;
 import org.apache.doris.analysis.CreateSqlBlockRuleStmt;
 import org.apache.doris.common.io.Text;
 import org.apache.doris.common.io.Writable;
@@ -98,11 +97,6 @@ public class SqlBlockRule implements Writable, 
GsonPostProcessable {
                 stmt.getTabletNum(), stmt.getCardinality(), stmt.isGlobal(), 
stmt.isEnable());
     }
 
-    public static SqlBlockRule fromAlterStmt(AlterSqlBlockRuleStmt stmt) {
-        return new SqlBlockRule(stmt.getRuleName(), stmt.getSql(), 
stmt.getSqlHash(), stmt.getPartitionNum(),
-                stmt.getTabletNum(), stmt.getCardinality(), stmt.getGlobal(), 
stmt.getEnable());
-    }
-
     public String getName() {
         return name;
     }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRuleMgr.java 
b/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRuleMgr.java
index 4a0488595f1..36bfe5b2447 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRuleMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/blockrule/SqlBlockRuleMgr.java
@@ -17,7 +17,6 @@
 
 package org.apache.doris.blockrule;
 
-import org.apache.doris.analysis.AlterSqlBlockRuleStmt;
 import org.apache.doris.analysis.CreateSqlBlockRuleStmt;
 import org.apache.doris.catalog.Env;
 import org.apache.doris.common.AnalysisException;
@@ -29,6 +28,7 @@ import org.apache.doris.common.io.Writable;
 import org.apache.doris.common.util.SqlBlockUtil;
 import org.apache.doris.metric.MetricRepo;
 import org.apache.doris.mysql.privilege.Auth;
+import org.apache.doris.nereids.trees.plans.commands.AlterSqlBlockRuleCommand;
 import org.apache.doris.persist.gson.GsonUtils;
 import org.apache.doris.qe.ConnectContext;
 
@@ -136,13 +136,6 @@ public class SqlBlockRuleMgr implements Writable {
         LOG.info("replay create sql block rule: {}", sqlBlockRule);
     }
 
-    /**
-     * Alter SqlBlockRule for alter stmt.
-     **/
-    public void alterSqlBlockRule(AlterSqlBlockRuleStmt stmt) throws 
AnalysisException, DdlException {
-        alterSqlBlockRule(SqlBlockRule.fromAlterStmt(stmt));
-    }
-
     public void alterSqlBlockRule(SqlBlockRule sqlBlockRule) throws 
AnalysisException, DdlException {
         writeLock();
         try {
@@ -158,13 +151,13 @@ public class SqlBlockRuleMgr implements Writable {
             if 
(sqlBlockRule.getSqlHash().equals(CreateSqlBlockRuleStmt.STRING_NOT_SET)) {
                 sqlBlockRule.setSqlHash(originRule.getSqlHash());
             }
-            if 
(sqlBlockRule.getPartitionNum().equals(AlterSqlBlockRuleStmt.LONG_NOT_SET)) {
+            if 
(sqlBlockRule.getPartitionNum().equals(AlterSqlBlockRuleCommand.LONG_NOT_SET)) {
                 sqlBlockRule.setPartitionNum(originRule.getPartitionNum());
             }
-            if 
(sqlBlockRule.getTabletNum().equals(AlterSqlBlockRuleStmt.LONG_NOT_SET)) {
+            if 
(sqlBlockRule.getTabletNum().equals(AlterSqlBlockRuleCommand.LONG_NOT_SET)) {
                 sqlBlockRule.setTabletNum(originRule.getTabletNum());
             }
-            if 
(sqlBlockRule.getCardinality().equals(AlterSqlBlockRuleStmt.LONG_NOT_SET)) {
+            if 
(sqlBlockRule.getCardinality().equals(AlterSqlBlockRuleCommand.LONG_NOT_SET)) {
                 sqlBlockRule.setCardinality(originRule.getCardinality());
             }
             if (sqlBlockRule.getGlobal() == null) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterSqlBlockRuleCommand.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterSqlBlockRuleCommand.java
index 481eb64a58d..8357a44d347 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterSqlBlockRuleCommand.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterSqlBlockRuleCommand.java
@@ -37,6 +37,8 @@ import java.util.Map;
  */
 public class AlterSqlBlockRuleCommand extends SqlBlockRuleCommand {
 
+    public static final Long LONG_NOT_SET = SqlBlockUtil.LONG_MINUS_ONE;
+
     /**
     * constructor
     */
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/SqlBlockRuleCommand.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/SqlBlockRuleCommand.java
index 47be7f96b26..00804faede0 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/SqlBlockRuleCommand.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/SqlBlockRuleCommand.java
@@ -113,5 +113,37 @@ public abstract class SqlBlockRuleCommand extends Command 
implements ForwardWith
     public abstract void doRun(ConnectContext ctx, StmtExecutor executor) 
throws Exception;
 
     public abstract void setProperties(Map<String, String> properties) throws 
UserException;
+
+    public String getRuleName() {
+        return ruleName;
+    }
+
+    public String getSql() {
+        return sql;
+    }
+
+    public String getSqlHash() {
+        return sqlHash;
+    }
+
+    public Long getPartitionNum() {
+        return partitionNum;
+    }
+
+    public Long getTabletNum() {
+        return tabletNum;
+    }
+
+    public Long getCardinality() {
+        return cardinality;
+    }
+
+    public Boolean getGlobal() {
+        return global;
+    }
+
+    public Boolean getEnable() {
+        return enable;
+    }
 }
 
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/DdlExecutor.java 
b/fe/fe-core/src/main/java/org/apache/doris/qe/DdlExecutor.java
index 992c7e8f514..21dc318f09b 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/DdlExecutor.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/DdlExecutor.java
@@ -19,7 +19,6 @@ package org.apache.doris.qe;
 
 import org.apache.doris.analysis.AdminSetPartitionVersionStmt;
 import org.apache.doris.analysis.AlterRoleStmt;
-import org.apache.doris.analysis.AlterSqlBlockRuleStmt;
 import org.apache.doris.analysis.AlterTableStmt;
 import org.apache.doris.analysis.CancelExportStmt;
 import org.apache.doris.analysis.CancelLoadStmt;
@@ -118,8 +117,6 @@ public class DdlExecutor {
             
env.getWorkloadSchedPolicyMgr().dropWorkloadSchedPolicy((DropWorkloadSchedPolicyStmt)
 ddlStmt);
         } else if (ddlStmt instanceof CreateSqlBlockRuleStmt) {
             
env.getSqlBlockRuleMgr().createSqlBlockRule((CreateSqlBlockRuleStmt) ddlStmt);
-        } else if (ddlStmt instanceof AlterSqlBlockRuleStmt) {
-            env.getSqlBlockRuleMgr().alterSqlBlockRule((AlterSqlBlockRuleStmt) 
ddlStmt);
         } else if (ddlStmt instanceof RefreshTableStmt) {
             RefreshTableStmt refreshTableStmt = (RefreshTableStmt) ddlStmt;
             
env.getRefreshManager().handleRefreshTable(refreshTableStmt.getCtl(), 
refreshTableStmt.getDbName(),
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java 
b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java
index 725cd6ca639..b714fd40dd2 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/TestWithFeService.java
@@ -18,7 +18,6 @@
 package org.apache.doris.utframe;
 
 import org.apache.doris.alter.AlterJobV2;
-import org.apache.doris.analysis.AlterSqlBlockRuleStmt;
 import org.apache.doris.analysis.AlterTableStmt;
 import org.apache.doris.analysis.CreateSqlBlockRuleStmt;
 import org.apache.doris.analysis.CreateTableStmt;
@@ -28,6 +27,7 @@ import org.apache.doris.analysis.SqlParser;
 import org.apache.doris.analysis.SqlScanner;
 import org.apache.doris.analysis.StatementBase;
 import org.apache.doris.analysis.UserIdentity;
+import org.apache.doris.blockrule.SqlBlockRule;
 import org.apache.doris.catalog.Database;
 import org.apache.doris.catalog.DiskInfo;
 import org.apache.doris.catalog.Env;
@@ -50,6 +50,7 @@ import org.apache.doris.nereids.rules.RuleType;
 import org.apache.doris.nereids.trees.expressions.StatementScopeIdGenerator;
 import org.apache.doris.nereids.trees.plans.commands.AddConstraintCommand;
 import org.apache.doris.nereids.trees.plans.commands.AlterMTMVCommand;
+import org.apache.doris.nereids.trees.plans.commands.AlterSqlBlockRuleCommand;
 import org.apache.doris.nereids.trees.plans.commands.AlterTableCommand;
 import org.apache.doris.nereids.trees.plans.commands.CreateCatalogCommand;
 import org.apache.doris.nereids.trees.plans.commands.CreateDatabaseCommand;
@@ -765,8 +766,12 @@ public abstract class TestWithFeService {
     }
 
     protected void alterSqlBlockRule(String sql) throws Exception {
+        NereidsParser parser = new NereidsParser();
+        AlterSqlBlockRuleCommand command = (AlterSqlBlockRuleCommand) 
parser.parseSingle(sql);
         Env.getCurrentEnv().getSqlBlockRuleMgr()
-                .alterSqlBlockRule((AlterSqlBlockRuleStmt) 
parseAndAnalyzeStmt(sql));
+                .alterSqlBlockRule(new SqlBlockRule(command.getRuleName(), 
command.getSql(), command.getSqlHash(),
+                command.getPartitionNum(), command.getTabletNum(), 
command.getCardinality(),
+                command.getGlobal(), command.getEnable()));
     }
 
     protected void dropSqlBlockRule(String sql) throws Exception {


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

Reply via email to