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 a1a3ed15ca4 Support Oracle noAuditTraditional SQL parse (#29145)
a1a3ed15ca4 is described below

commit a1a3ed15ca4537ea1ad3712fcfee7f02d7914e6d
Author: +7 <[email protected]>
AuthorDate: Fri Nov 24 07:43:14 2023 +0800

    Support Oracle noAuditTraditional SQL parse (#29145)
---
 .../oracle/src/main/antlr4/imports/oracle/DDLStatement.g4      | 10 +++++++++-
 test/it/parser/src/main/resources/case/ddl/no-audit.xml        |  4 ++++
 .../parser/src/main/resources/sql/supported/ddl/no-audit.xml   |  4 ++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
index 02cad8304b2..2dd58acd942 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
@@ -2304,7 +2304,7 @@ auditUnified
     : AUDIT (auditPolicyClause | contextClause)
     ;
 
-noAudit
+noAuditUnified
     : NOAUDIT (noAuditPolicyClause | contextClause)
     ;
 
@@ -4138,3 +4138,11 @@ createProfile
     : CREATE MANDATORY? PROFILE profileName LIMIT (resourceParameters | 
passwordParameters)+ (CONTAINER EQ_ (CURRENT | ALL))?
     ;
 
+noAudit
+    : noAuditTraditional | noAuditUnified
+    ;
+
+noAuditTraditional
+    : NOAUDIT (auditOperationClause auditingByClause? |  
auditSchemaObjectClause | NETWORK | DIRECT_PATH LOAD auditingByClause?)
+    (WHENEVER NOT? SUCCESSFUL)? (CONTAINER EQ_ (CURRENT | ALL))?
+    ;
diff --git a/test/it/parser/src/main/resources/case/ddl/no-audit.xml 
b/test/it/parser/src/main/resources/case/ddl/no-audit.xml
index 6322c0042a6..7671949d91d 100644
--- a/test/it/parser/src/main/resources/case/ddl/no-audit.xml
+++ b/test/it/parser/src/main/resources/case/ddl/no-audit.xml
@@ -21,4 +21,8 @@
     <no-audit sql-case-id="no_audit_policy_by_users" />
     <no-audit sql-case-id="no_audit_policy_by_users_with_roles" />
     <no-audit sql-case-id="no_audit_context" />
+    <no-audit sql-case-id="no_audit_traditional_all_privileges" />
+    <no-audit sql-case-id="no_audit_traditional_all_statements" />
+    <no-audit sql-case-id="no_audit_traditional_delete" />
+    <no-audit sql-case-id="no_audit_traditional_select" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/ddl/no-audit.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/no-audit.xml
index 218049f246e..f517a072361 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/no-audit.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/no-audit.xml
@@ -21,4 +21,8 @@
     <sql-case id="no_audit_policy_by_users" value="NOAUDIT POLICY dml_pol BY 
hr, sh WHENEVER NOT SUCCESSFUL" db-types="Oracle" />
     <sql-case id="no_audit_policy_by_users_with_roles" value="NOAUDIT POLICY 
read_dir_pol BY USERS WITH GRANTED ROLES hr_role" db-types="Oracle" />
     <sql-case id="no_audit_context" value="NOAUDIT CONTEXT NAMESPACE userenv 
ATTRIBUTES current_user, db_name BY hr;" db-types="Oracle" />
+    <sql-case id="no_audit_traditional_all_privileges" value="NOAUDIT ALL 
PRIVILEGES;" db-types="Oracle" />
+    <sql-case id="no_audit_traditional_all_statements" value="NOAUDIT ALL 
STATEMENTS;" db-types="Oracle" />
+    <sql-case id="no_audit_traditional_delete" value="NOAUDIT DELETE ANY 
TABLE;" db-types="Oracle" />
+    <sql-case id="no_audit_traditional_select" value="NOAUDIT SELECT ON 
hr.employees WHENEVER SUCCESSFUL;" db-types="Oracle" />
 </sql-cases>

Reply via email to