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 1f3c09f9c3d Fix oracle audit auditOperationClause rule (#28857)
1f3c09f9c3d is described below

commit 1f3c09f9c3d371f862ee3bb3cf1352a35c52f338
Author: niu niu <[email protected]>
AuthorDate: Wed Oct 25 09:27:32 2023 +0800

    Fix oracle audit auditOperationClause rule (#28857)
---
 .../dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4    | 2 +-
 test/it/parser/src/main/resources/case/ddl/audit.xml                 | 5 +++++
 test/it/parser/src/main/resources/sql/supported/ddl/audit.xml        | 5 +++++
 3 files changed, 11 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 4a12a7e5335..93039a8262a 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
@@ -2268,7 +2268,7 @@ auditingByClause
 
 auditOperationClause
     : (sqlStatementShortcut | ALL | ALL STATEMENTS) (COMMA_ 
sqlStatementShortcut | ALL | ALL STATEMENTS)*
-    | (systemPrivilege | ALL PRIVILEGES) (COMMA_ systemPrivilege | ALL 
PRIVILEGES) 
+    | (systemPrivilege | ALL PRIVILEGES) (COMMA_ systemPrivilege | ALL 
PRIVILEGES)*
     ;
 
 sqlStatementShortcut
diff --git a/test/it/parser/src/main/resources/case/ddl/audit.xml 
b/test/it/parser/src/main/resources/case/ddl/audit.xml
index d1784296d6a..35c136b8e5d 100644
--- a/test/it/parser/src/main/resources/case/ddl/audit.xml
+++ b/test/it/parser/src/main/resources/case/ddl/audit.xml
@@ -160,4 +160,9 @@
     <audit sql-case-id="audit_all_on_default_by_access" />
     <audit sql-case-id="audit_all_statements_by_by_access_whenever_successful" 
/>
     <audit sql-case-id="audit_all_statements_in_session_current" />
+    <audit sql-case-id="audit_create_any_directory" />
+    <audit sql-case-id="audit_create_alter" />
+    <audit sql-case-id="audit_delete_any_table_by_access" />
+    <audit sql-case-id="audit_crete_table_by_access_whenever_not_successful" />
+    <audit sql-case-id="audit_select_table_by" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/sql/supported/ddl/audit.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/audit.xml
index ce24256d545..63e68acebb0 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/audit.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/audit.xml
@@ -160,4 +160,9 @@
     <sql-case id="audit_all_on_default_by_access" value="AUDIT ALL ON DEFAULT 
BY ACCESS" db-types="Oracle" />
     <sql-case id="audit_all_statements_by_by_access_whenever_successful" 
value="AUDIT ALL STATEMENTS BY jward, jsmith BY ACCESS WHENEVER SUCCESSFUL" 
db-types="Oracle" />
     <sql-case id="audit_all_statements_in_session_current" value="AUDIT ALL 
STATEMENTS IN SESSION CURRENT" db-types="Oracle" />
+    <sql-case id="audit_create_any_directory" value="AUDIT CREATE ANY 
DIRECTORY" db-types="Oracle" />
+    <sql-case id="audit_create_alter" value="AUDIT CREATE TABLE, CREATE 
SEQUENCE, CREATE SYNONYM, CREATE DATABASE LINK, CREATE CLUSTER, CREATE VIEW, 
ALTER SESSION" db-types="Oracle" />
+    <sql-case id="audit_delete_any_table_by_access" value="AUDIT DELETE ANY 
TABLE BY ACCESS" db-types="Oracle" />
+    <sql-case id="audit_crete_table_by_access_whenever_not_successful" 
value="AUDIT CREATE TABLE BY ACCESS WHENEVER NOT SUCCESSFUL" db-types="Oracle" 
/>
+    <sql-case id="audit_select_table_by" value="AUDIT SELECT TABLE BY jackson" 
db-types="Oracle" />
 </sql-cases>

Reply via email to