This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit bd4dd94c247500960d97c722509e8f759918a94a Author: feiniaofeiafei <[email protected]> AuthorDate: Thu May 23 18:04:19 2024 +0800 [Fix](nereids) add checkBlockRules() check for create view and alter view (#34104) --- .../trees/plans/commands/AlterViewCommand.java | 1 + .../trees/plans/commands/CreateViewCommand.java | 1 + .../sql_block_rule_p0/test_sql_block_rule.groovy | 30 ++++++++++++++++++++++ 3 files changed, 32 insertions(+) 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 ebcbe280532..3a2b551d9bf 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 25cd171959d..a6698bc1f69 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 53ea9a87d4e..14924ed7bb7 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; + """ + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
