This is an automated email from the ASF dual-hosted git repository.
morrysnow 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 166b9944e78 [Fix](nereids) add checkBlockRules() check for create view
and alter view (#34104)
166b9944e78 is described below
commit 166b9944e785644b0320e9ee6ca5ad86e1f13b24
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]