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 0e8a5c91d6a Add oracle eventsClause syntax (#27941)
0e8a5c91d6a is described below

commit 0e8a5c91d6a099a9f42f353655132a2356a3dbf4
Author: niu niu <[email protected]>
AuthorDate: Sun Aug 6 10:17:55 2023 +0800

    Add oracle eventsClause syntax (#27941)
    
    * Add oracle eventsClause syntax
    
    * Change eventsClause syntax
---
 parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4 | 2 +-
 .../dialect/oracle/src/main/antlr4/imports/oracle/DDLStatement.g4    | 5 +++++
 test/it/parser/src/main/resources/case/ddl/alter-session.xml         | 2 ++
 test/it/parser/src/main/resources/case/ddl/alter-system.xml          | 1 +
 .../it/parser/src/main/resources/sql/supported/ddl/alter-session.xml | 2 ++
 test/it/parser/src/main/resources/sql/supported/ddl/alter-system.xml | 1 +
 6 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
index 128666cc246..8a3ddee75fb 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
@@ -180,7 +180,7 @@ unreservedWord1
     | HOST | PORT | EVERY | MINUTES | HOURS | NORELOCATE | SAVE | DISCARD | 
APPLICATION | INSTALL
     | MINIMUM | VERSION | UNINSTALL | COMPATIBILITY | MATERIALIZE | SUBTYPE | 
RECORD | CONSTANT | CURSOR
     | OTHERS | EXCEPTION | CPU_PER_SESSION | CONNECT_TIME | 
LOGICAL_READS_PER_SESSION | PRIVATE_SGA | PERCENT_RANK | ROWID
-    | LPAD | ZONE | SESSIONTIMEZONE | TO_CHAR | XMLELEMENT | COLUMN_VALUE | 
EVALNAME | LEVEL | CONTENT
+    | LPAD | ZONE | SESSIONTIMEZONE | TO_CHAR | XMLELEMENT | COLUMN_VALUE | 
EVALNAME | LEVEL | CONTENT | ON
     ;
     
 unreservedWord2
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 c4f1be723da..d4828cc5d80 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
@@ -1472,6 +1472,7 @@ alterSessionSetClauseOption
     | containerClause
     | rowArchivalVisibilityClause
     | defaultCollationClause
+    | eventsClause
     ;
 
 parameterClause
@@ -1494,6 +1495,10 @@ defaultCollationClause
     : DEFAULT_COLLATION EQ_ (collationName | NONE)
     ;
 
+eventsClause
+    : (EVENTS EQ_? STRING_)+
+    ;
+
 alterDatabaseDictionary
     : ALTER DATABASE DICTIONARY (
     | ENCRYPT CREDENTIALS
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-session.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-session.xml
index d846f556938..2776727ef9c 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-session.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-session.xml
@@ -24,4 +24,6 @@
     <alter-session sql-case-id="alter_session_change_parameter" />
     <alter-session sql-case-id="alter_session_set_container" />
     <alter-session sql-case-id="alter_session_set_container_service" />
+    <alter-session sql-case-id="alter_session_set_events" />
+    <alter-session sql-case-id="alter_session_set_parameter_recyclebin" />
 </sql-parser-test-cases>
diff --git a/test/it/parser/src/main/resources/case/ddl/alter-system.xml 
b/test/it/parser/src/main/resources/case/ddl/alter-system.xml
index 0aa17c9a968..17fa1fb2452 100644
--- a/test/it/parser/src/main/resources/case/ddl/alter-system.xml
+++ b/test/it/parser/src/main/resources/case/ddl/alter-system.xml
@@ -43,4 +43,5 @@
     <alter-system sql-case-id="alter_system_kill_session2" />
     <alter-system sql-case-id="alter_system_reset_open_cursors_scope_sid" />
     <alter-system sql-case-id="alter_system_set_db_recovery_file_dest_size_g" 
/>
+    <alter-system sql-case-id="alter_system_set_parameter_recyclebin_scope" />
 </sql-parser-test-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-session.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-session.xml
index bc72cfcbe6a..5559da60725 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-session.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-session.xml
@@ -24,4 +24,6 @@
     <sql-case id="alter_session_change_parameter" value="ALTER SESSION SET 
NLS_DATE_LANGUAGE = French" db-types="Oracle" />
     <sql-case id="alter_session_set_container" value="ALTER SESSION SET 
CONTAINER = cdb$root" db-types="Oracle" />
     <sql-case id="alter_session_set_container_service" value="ALTER SESSION 
SET CONTAINER = pdb1 SERVICE = my_new_service" db-types="Oracle" />
+    <sql-case id="alter_session_set_events" value="ALTER SESSION SET EVENTS 
'19119 TRACE NAME CONTEXT FOREVER, LEVEL 0x8'" db-types="Oracle" />
+    <sql-case id="alter_session_set_parameter_recyclebin" value="ALTER SESSION 
SET recyclebin = ON" db-types="Oracle" />
 </sql-cases>
diff --git 
a/test/it/parser/src/main/resources/sql/supported/ddl/alter-system.xml 
b/test/it/parser/src/main/resources/sql/supported/ddl/alter-system.xml
index df038df708b..f68cce68182 100644
--- a/test/it/parser/src/main/resources/sql/supported/ddl/alter-system.xml
+++ b/test/it/parser/src/main/resources/sql/supported/ddl/alter-system.xml
@@ -43,4 +43,5 @@
     <sql-case id="alter_system_kill_session2" value="ALTER SYSTEM KILL SESSION 
'127, 55234'" db-types="Oracle" />
     <sql-case id="alter_system_reset_open_cursors_scope_sid" value="ALTER 
SYSTEM RESET OPEN_CURSORS SCOPE=SPFILE SID='prod1'" db-types="Oracle" />
     <sql-case id="alter_system_set_db_recovery_file_dest_size_g" value="ALTER 
SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='*'" 
db-types="Oracle" />
+    <sql-case id="alter_system_set_parameter_recyclebin_scope" value="ALTER 
SYSTEM SET recyclebin = ON SCOPE = SPFILE" db-types="Oracle" />
 </sql-cases>

Reply via email to