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 26c0627232e Enhance MySQL create event parse (#26492)
26c0627232e is described below

commit 26c0627232e430a9314a2971c7da637987f13aa8
Author: niu niu <[email protected]>
AuthorDate: Sat Jul 1 11:20:00 2023 +0800

    Enhance MySQL create event parse (#26492)
    
    * Enhance MySQL create event parse (#25535)
    
    * Fix code (#26492)
    
    * Fix code
---
 parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4  | 2 +-
 test/it/parser/src/main/resources/case/ddl/create-event-trigger.xml     | 1 +
 .../src/main/resources/sql/supported/ddl/create-event-trigger.xml       | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4 
b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
index 98c02556562..7dd0fb895c8 100644
--- a/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
+++ b/parser/sql/dialect/mysql/src/main/antlr4/imports/mysql/DDLStatement.g4
@@ -674,7 +674,7 @@ compoundStatement
     ;
 
 validStatement
-    : (createTable | alterTable | dropTable | truncateTable 
+    : (createTable | alterTable | dropTable | dropDatabase | truncateTable
     | insert | replace | update | delete | select | call
     | createView | prepare | executeStmt | commit | deallocate
     | setVariable | beginStatement | declareStatement | flowControlStatement | 
cursorStatement | conditionHandlingStatement) SEMI_?
diff --git 
a/test/it/parser/src/main/resources/case/ddl/create-event-trigger.xml 
b/test/it/parser/src/main/resources/case/ddl/create-event-trigger.xml
index a67fedd5e21..b9407e08a6d 100644
--- a/test/it/parser/src/main/resources/case/ddl/create-event-trigger.xml
+++ b/test/it/parser/src/main/resources/case/ddl/create-event-trigger.xml
@@ -17,6 +17,7 @@
   -->
 
 <sql-parser-test-cases>
+    <create-event-trigger sql-case-id="create_event_trigger_drop_database" />
     <create-event-trigger sql-case-id="create_event_trigger" />
     <create-event-trigger sql-case-id="create_event_trigger_with_when" />
     <create-event-trigger sql-case-id="create_event_trigger_with_when_and" />
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/create-event-trigger.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/create-event-trigger.xml
index ef3b4b98c69..1783801bd4d 100644
--- 
a/test/it/parser/src/main/resources/sql/supported/ddl/create-event-trigger.xml
+++ 
b/test/it/parser/src/main/resources/sql/supported/ddl/create-event-trigger.xml
@@ -17,6 +17,7 @@
   -->
 
 <sql-cases>
+    <sql-case id="create_event_trigger_drop_database" value="CREATE EVENT e1 
ON SCHEDULE EVERY 1 SECOND DO DROP DATABASE BUG52792" db-types="MySQL" />
     <sql-case id="create_event_trigger" value="CREATE EVENT TRIGGER 
has_volatile_rewrite ON table_rewrite EXECUTE PROCEDURE log_rewrite();" 
db-types="PostgreSQL" />
     <sql-case id="create_event_trigger_with_when" value="CREATE EVENT TRIGGER 
end_rls_command ON ddl_command_end WHEN tag IN (&apos;CREATE POLICY&apos;, 
&apos;ALTER POLICY&apos;, &apos;DROP POLICY&apos;) EXECUTE PROCEDURE 
end_command();" db-types="PostgreSQL" />
     <sql-case id="create_event_trigger_with_when_and" value="CREATE EVENT 
TRIGGER regress_event_trigger2 ON ddl_command_start WHEN tag IN (&apos;create 
table&apos;) AND tag IN (&apos;CREATE FUNCTION&apos;) EXECUTE PROCEDURE 
test_event_trigger();" db-types="PostgreSQL" />

Reply via email to