diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java index ebcbe28053..3a2b551d9b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/AlterViewCommand.java @@ -36,6 +36,7 @@ public class AlterViewCommand extends Command implements ForwardWithSync { @Override public void run(ConnectContext ctx, StmtExecutor executor) throws Exception { + executor.checkBlockRules(); alterViewInfo.init(ctx); alterViewInfo.validate(ctx); AlterViewStmt alterViewStmt = alterViewInfo.translateToLegacyStmt(ctx); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java index 25cd171959..a6698bc1f6 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateViewCommand.java @@ -36,6 +36,7 @@ public class CreateViewCommand extends Command implements ForwardWithSync { @Override public void run(ConnectContext ctx, StmtExecutor executor) throws Exception { + executor.checkBlockRules(); createViewInfo.init(ctx); createViewInfo.validate(ctx); CreateViewStmt createViewStmt = createViewInfo.translateToLegacyStmt(ctx); diff --git a/regression-test/suites/sql_block_rule_p0/test_sql_block_rule.groovy b/regression-test/suites/sql_block_rule_p0/test_sql_block_rule.groovy index 53ea9a87d4..14924ed7bb 100644 --- a/regression-test/suites/sql_block_rule_p0/test_sql_block_rule.groovy +++ b/regression-test/suites/sql_block_rule_p0/test_sql_block_rule.groovy @@ -216,5 +216,35 @@ suite("test_sql_block_rule", "nonConcurrent") { """ } + sql """ + CREATE SQL_BLOCK_RULE if not exists test_rule_create_view PROPERTIES ( "sql"="create view", "global" = "true", + "enable"="true"); + """ + try { + test { + sql("""create view table_test_rule_create_view as select 1 """, false) + exception """sql match regex sql block rule: test_rule_create_view""" + } + } finally { + sql """ + drop SQL_BLOCK_RULE if exists test_rule_create_view; + """ + } + + sql """ + CREATE SQL_BLOCK_RULE if not exists test_rule_alter_view PROPERTIES ( "sql"="alter view", "global" = "true", + "enable"="true"); + """ + sql "create view table_test_rule_alter_view as select 2" + try { + test { + sql("""alter view table_test_rule_alter_view as select 1""", false) + exception """sql match regex sql block rule: test_rule_alter_view""" + } + } finally { + sql """ + drop SQL_BLOCK_RULE if exists test_rule_alter_view; + """ + } }