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>