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 79677ff004c Support parsing openGauss DROP USER sql (#28106)
79677ff004c is described below

commit 79677ff004c435290bd45b81c7da276429b36da9
Author: Akash Pambhar <[email protected]>
AuthorDate: Sat Aug 26 13:33:51 2023 +0530

    Support parsing openGauss DROP USER sql (#28106)
---
 .../opengauss/src/main/antlr4/imports/opengauss/DCLStatement.g4     | 6 +++++-
 test/it/parser/src/main/resources/case/dcl/drop-user.xml            | 1 +
 test/it/parser/src/main/resources/sql/supported/dcl/drop-user.xml   | 3 ++-
 3 files changed, 8 insertions(+), 2 deletions(-)

diff --git 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DCLStatement.g4
 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DCLStatement.g4
index af386c9e186..d3757d5277f 100644
--- 
a/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DCLStatement.g4
+++ 
b/parser/sql/dialect/opengauss/src/main/antlr4/imports/opengauss/DCLStatement.g4
@@ -56,8 +56,12 @@ alterOptRoleElem
     | identifier
     ;
 
+dropBehavior
+    : CASCADE | RESTRICT
+    ;
+
 dropUser
-    : DROP USER ifExists? roleList
+    : DROP USER ifExists? nameList dropBehavior?
     ;
 
 alterUser
diff --git a/test/it/parser/src/main/resources/case/dcl/drop-user.xml 
b/test/it/parser/src/main/resources/case/dcl/drop-user.xml
index 2386ca48345..d6b32b1e1dd 100644
--- a/test/it/parser/src/main/resources/case/dcl/drop-user.xml
+++ b/test/it/parser/src/main/resources/case/dcl/drop-user.xml
@@ -21,6 +21,7 @@
     <drop-user sql-case-id="drop_user_with_hostname" />
     <drop-user sql-case-id="drop_user_with_ip" />
     <drop-user sql-case-id="drop_user_cascade" />
+    <drop-user sql-case-id="drop_user_restrict" />
     <drop-user sql-case-id="drop_user" />
     <drop-user sql-case-id="drop_users" />
     <drop-user sql-case-id="drop_user_if_exists" />
diff --git a/test/it/parser/src/main/resources/sql/supported/dcl/drop-user.xml 
b/test/it/parser/src/main/resources/sql/supported/dcl/drop-user.xml
index f19e47d39a9..297a520c0d0 100644
--- a/test/it/parser/src/main/resources/sql/supported/dcl/drop-user.xml
+++ b/test/it/parser/src/main/resources/sql/supported/dcl/drop-user.xml
@@ -20,7 +20,8 @@
     <sql-case id="drop_user_without_hostname" value="DROP USER user_dev" 
db-types="Oracle,PostgreSQL,openGauss,SQLServer" />
     <sql-case id="drop_user_with_hostname" value="DROP USER 
user_dev@localhost" db-types="MySQL,Oracle" />
     <sql-case id="drop_user_with_ip" value="DROP USER [email protected]" 
db-types="MySQL,Oracle" />
-    <sql-case id="drop_user_cascade" value="DROP USER user_dev CASCADE" 
db-types="Oracle" />
+    <sql-case id="drop_user_cascade" value="DROP USER user_dev CASCADE" 
db-types="Oracle,openGauss" />
+    <sql-case id="drop_user_restrict" value="DROP USER user_name RESTRICT" 
db-types="openGauss" />
     <sql-case id="drop_user" value="DROP USER user1" 
db-types="MySQL,Oracle,PostgreSQL,openGauss,SQLServer" />
     <sql-case id="drop_users" value="DROP USER user1, user2" 
db-types="MySQL,PostgreSQL,openGauss" />
     <sql-case id="drop_user_if_exists" value="DROP USER IF EXISTS user1" 
db-types="MySQL,PostgreSQL,openGauss,SQLServer" />

Reply via email to