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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9692d2f07b8 fix:Support Hive ALTER MATERIALIZED VIEW statement parse 
(#36146)
9692d2f07b8 is described below

commit 9692d2f07b8186624411a93718a8269bbf9852f9
Author: Claire <[email protected]>
AuthorDate: Fri Aug 1 15:37:38 2025 +0800

    fix:Support Hive ALTER MATERIALIZED VIEW statement parse (#36146)
    
    * support hive ALTER MATERIALIZED VIEW statement
    
    * update RELEASE-NOTES.md
---
 RELEASE-NOTES.md                                                   | 1 +
 .../sql/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4  | 4 ++++
 .../org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4  | 1 +
 .../hive/visitor/statement/type/HiveDDLStatementVisitor.java       | 7 +++++++
 .../parser/src/main/resources/case/ddl/alter-materialized-view.xml | 4 ++++
 .../main/resources/sql/supported/ddl/alter-materialized-view.xml   | 4 ++++
 6 files changed, 21 insertions(+)

diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index 285bf72c3af..51f53c705e9 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -80,6 +80,7 @@
 1. SQL Parser: Support Hive ALTER VIEW statement parse - 
[#36134](https://github.com/apache/shardingsphere/pull/36134)
 1. SQL Parser: Support Hive CREATE MATERIALIZED VIEW statement parse - 
[#36144](https://github.com/apache/shardingsphere/pull/36144)
 1. SQL Parser: Support Hive DROP MATERIALIZED VIEW statement parse - 
[#36145](https://github.com/apache/shardingsphere/pull/36145)
+1. SQL Parser: Support Hive ALTER MATERIALIZED VIEW statement parse - 
[#36146](https://github.com/apache/shardingsphere/pull/36146)
 1. SQL Parser: Support SQL Server xml methods parse - 
[#35911](https://github.com/apache/shardingsphere/pull/35911)
 1. SQL Parser: Support SQL Server CHANGETABLE function parse - 
[#35920](https://github.com/apache/shardingsphere/pull/35920)
 1. SQL Parser: Support SQL Server AI_GENERATE_EMBEDDINGS function parse - 
[#35922](https://github.com/apache/shardingsphere/pull/35922)
diff --git 
a/parser/sql/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4 
b/parser/sql/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
index 9ccbdcf5716..266b03e3012 100644
--- a/parser/sql/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
+++ b/parser/sql/dialect/hive/src/main/antlr4/imports/hive/DDLStatement.g4
@@ -100,6 +100,10 @@ dropMaterializedView
     : DROP MATERIALIZED VIEW viewNameWithDb
     ;
 
+alterMaterializedView
+    : ALTER MATERIALIZED VIEW viewNameWithDb (ENABLE | DISABLE) REWRITE
+    ;
+
 alterDatabaseSpecification_
     : SET DBPROPERTIES LP_ dbProperties RP_
     | SET OWNER (USER | ROLE) identifier
diff --git 
a/parser/sql/dialect/hive/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4
 
b/parser/sql/dialect/hive/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4
index e0dcb17f317..e5093ed9a68 100644
--- 
a/parser/sql/dialect/hive/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4
+++ 
b/parser/sql/dialect/hive/src/main/antlr4/org/apache/shardingsphere/sql/parser/autogen/HiveStatement.g4
@@ -40,6 +40,7 @@ execute
     | alterView
     | createMaterializedView
     | dropMaterializedView
+    | alterMaterializedView
     ) (SEMI_ EOF? | EOF)
     | EOF
     ;
diff --git 
a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDDLStatementVisitor.java
 
b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDDLStatementVisitor.java
index 7f4ab18338a..c251f1aa5b4 100644
--- 
a/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDDLStatementVisitor.java
+++ 
b/parser/sql/dialect/hive/src/main/java/org/apache/shardingsphere/sql/parser/hive/visitor/statement/type/HiveDDLStatementVisitor.java
@@ -41,6 +41,7 @@ import 
org.apache.shardingsphere.sql.parser.autogen.HiveStatementParser.ChangeCo
 import 
org.apache.shardingsphere.sql.parser.autogen.HiveStatementParser.ColumnNameContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.HiveStatementParser.CreateMaterializedViewContext;
 import 
org.apache.shardingsphere.sql.parser.autogen.HiveStatementParser.DropMaterializedViewContext;
+import 
org.apache.shardingsphere.sql.parser.autogen.HiveStatementParser.AlterMaterializedViewContext;
 import 
org.apache.shardingsphere.sql.parser.hive.visitor.statement.HiveStatementVisitor;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.column.ColumnDefinitionSegment;
 import 
org.apache.shardingsphere.sql.parser.statement.core.segment.ddl.constraint.ConstraintDefinitionSegment;
@@ -60,6 +61,7 @@ import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.vi
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.view.AlterViewStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.view.CreateMaterializedViewStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.view.DropMaterializedViewStatement;
+import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.view.AlterMaterializedViewStatement;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.collection.CollectionValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.value.identifier.IdentifierValue;
 import 
org.apache.shardingsphere.sql.parser.statement.core.statement.type.ddl.TruncateStatement;
@@ -346,4 +348,9 @@ public final class HiveDDLStatementVisitor extends 
HiveStatementVisitor implemen
     public ASTNode visitDropMaterializedView(final DropMaterializedViewContext 
ctx) {
         return new DropMaterializedViewStatement(getDatabaseType());
     }
+    
+    @Override
+    public ASTNode visitAlterMaterializedView(final 
AlterMaterializedViewContext ctx) {
+        return new AlterMaterializedViewStatement(getDatabaseType());
+    }
 }
diff --git 
a/test/it/parser/src/main/resources/case/ddl/alter-materialized-view.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-materialized-view.xml
index 5b2206eea18..10d3c66f5e7 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-materialized-view.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-materialized-view.xml
@@ -26,4 +26,8 @@
     <alter-materialized-view 
sql-case-id="alter_materialized_view_refresh_enable_query_rewrite" />
     <alter-materialized-view 
sql-case-id="alter_materialized_view_refresh_with_primary_key" />
     <alter-materialized-view sql-case-id="alter_materialized_view_compile" />
+    <alter-materialized-view 
sql-case-id="alter_materialized_view_enable_rewrite_basic" />
+    <alter-materialized-view 
sql-case-id="alter_materialized_view_disable_rewrite_basic" />
+    <alter-materialized-view 
sql-case-id="alter_materialized_view_enable_rewrite_with_db" />
+    <alter-materialized-view 
sql-case-id="alter_materialized_view_disable_rewrite_with_db" />
 </sql-parser-test-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-materialized-view.xml
 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-materialized-view.xml
index 2540e839996..5fb540b9955 100644
--- 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-materialized-view.xml
+++ 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-materialized-view.xml
@@ -26,4 +26,8 @@
     <sql-case id="alter_materialized_view_refresh_enable_query_rewrite" 
value="ALTER MATERIALIZED VIEW emp_data ENABLE QUERY REWRITE;" 
db-types="Oracle" />
     <sql-case id="alter_materialized_view_refresh_with_primary_key" 
value="ALTER MATERIALIZED VIEW order_data REFRESH WITH PRIMARY KEY;" 
db-types="Oracle" />
     <sql-case id="alter_materialized_view_compile" value="ALTER MATERIALIZED 
VIEW order_data COMPILE;" db-types="Oracle" />
+    <sql-case id="alter_materialized_view_enable_rewrite_basic" value="ALTER 
MATERIALIZED VIEW sales_mv ENABLE REWRITE" db-types="Hive" />
+    <sql-case id="alter_materialized_view_disable_rewrite_basic" value="ALTER 
MATERIALIZED VIEW sales_mv DISABLE REWRITE" db-types="Hive" />
+    <sql-case id="alter_materialized_view_enable_rewrite_with_db" value="ALTER 
MATERIALIZED VIEW db1.sales_mv ENABLE REWRITE" db-types="Hive" />
+    <sql-case id="alter_materialized_view_disable_rewrite_with_db" 
value="ALTER MATERIALIZED VIEW db1.sales_mv DISABLE REWRITE" db-types="Hive" />
 </sql-cases>

Reply via email to