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" />