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]