ThanoshanMV commented on a change in pull request #10117:
URL: https://github.com/apache/shardingsphere/pull/10117#discussion_r616339372



##########
File path: 
shardingsphere-sql-parser/shardingsphere-sql-parser-dialect/shardingsphere-sql-parser-oracle/src/main/antlr4/imports/oracle/DDLStatement.g4
##########
@@ -998,3 +998,91 @@ supplementalLogGrpClause
 supplementalIdKeyClause
     : DATA LP_ (ALL | PRIMARY KEY | UNIQUE | FOREIGN KEY) (COMMA (ALL | 
PRIMARY KEY | UNIQUE | FOREIGN KEY))* RP_ COLUMNS
     ;
+
+alterSession
+    : ALTER SESSION alterSessionOption
+    ;
+
+alterSessionOption
+    : adviseClause
+    | closeDatabaseLinkClause
+    | commitInProcedureClause
+    | securiyClause
+    | parallelExecutionClause
+    | resumableClause
+    | shardDdlClause
+    | SYNC WITH PRIMARY
+    | alterSessionSetClause
+    ;
+
+adviseClause
+    : ADVISE (COMMIT | ROLLBACK | NOTHING)
+    ;
+
+closeDatabaseLinkClause
+    : CLOSE DATABASE LINK dbLink
+    ;
+
+commitInProcedureClause
+    : (ENABLE | DISABLE) COMMIT IN PROCEDURE
+    ;
+
+securiyClause
+    : (ENABLE | DISABLE) GUARD
+    ;
+
+parallelExecutionClause
+    : (ENABLE | DISABLE | FORCE) PARALLEL (DML | DDL | QUERY) (PARALLEL 
numberLiterals)?
+    ;
+
+resumableClause
+    : enableResumableClause | disableResumableClause
+    ;
+
+enableResumableClause
+    : ENABLE RESUMABLE (TIMEOUT numberLiterals)? (NAME stringLiterals)?
+    ;
+
+disableResumableClause
+    : DISABLE RESUMABLE
+    ;
+
+shardDdlClause
+    : (ENABLE | DISABLE) SHARD DDL
+    ;
+
+alterSessionSetClause
+    : SET alterSessionSetClauseOption
+    ;
+
+alterSessionSetClauseOption
+    : parameterClause
+    | editionClause
+    | containerClause
+    | rowArchivalVisibilityClause
+    | defaultCollationClause
+    ;
+
+parameterClause
+    : (parameterName EQ_ parameterValue)+
+    ;
+
+parameterValue

Review comment:
       Okay @wgy8283335, I'll put `parameterValue` in BaseRule.g4.
   
   Based on [ALTER SESSION 
documentation](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-SESSION.html#GUID-27186B28-7EFC-4998-B1ED-2B905CC0211B),
 we can set two types of parameters: 
[initialization](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-SESSION.html#GUID-8DBA8659-413E-49B4-98D3-D9608C9C8026)
 and [session 
parameters](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-SESSION.html#GUID-DC7B8CDD-4F89-40CC-875F-F70F673711D4).
 
   
   [Basic initialization 
parameters](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/basic-initialization-parameters.html#GUID-D75F1A77-47E2-4F35-B145-44B3A10ED85C)
 such as 
[CLUSTER_DATABASE](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/CLUSTER_DATABASE.html#GUID-DA4B6C11-FFEA-46BE-82D7-13C1DBD36277)'s
 parameter value is boolean,  
[DB_BLOCK_SIZE](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/DB_BLOCK_SIZE.html#GUID-6DD6D804-D03D-4C57-A764-826EE0F3836B)'s
 parameter value is an integer. 
   
   [Session 
parameters](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ALTER-SESSION.html#GUID-DC7B8CDD-4F89-40CC-875F-F70F673711D4)
 such as `INSTANCE`'s parameter value is an integer, `CURRENT_SCHEMA` is an 
identifier, `TIME_ZONE` is having a string literal as the parameter value. 
   
   To include all of this, I specified the `parameterValue` as `literals | 
identifier`. I just checked for which values they can contain. Please correct 
me if I'm wrong.
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to