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 ('CREATE POLICY',
'ALTER POLICY', 'DROP POLICY') 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 ('create
table') AND tag IN ('CREATE FUNCTION') EXECUTE PROCEDURE
test_event_trigger();" db-types="PostgreSQL" />