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 8fe12dbb940 Enhance parse oracle efficiency (#27950)
8fe12dbb940 is described below

commit 8fe12dbb9408838dd65b7ea90f3dd9543878b0a8
Author: boyjoy1127 <[email protected]>
AuthorDate: Mon Aug 7 12:25:37 2023 +0800

    Enhance parse oracle efficiency (#27950)
    
    * fix: fix oracle antlr bugs.
    
    * refactor: enhance parse oracle sql efficiency.
    
    * refactor: enhance parse oracle sql efficiency.
---
 .../src/main/antlr4/imports/oracle/DDLStatement.g4 | 38 +++++++++++++++++++---
 1 file changed, 33 insertions(+), 5 deletions(-)

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 283fe5dc25b..bd09d6fadef 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
@@ -910,7 +910,9 @@ tablePartitionDescription
     ;
 
 inmemoryClause
-    : INMEMORY inmemoryAttributes? | NO INMEMORY
+    : INMEMORY inmemoryAttributes
+    | INMEMORY
+    | NO INMEMORY
     ;
 
 varrayColProperties
@@ -1085,7 +1087,10 @@ referencePartitioning
     ;
 
 referencePartitionDesc
-    : PARTITION partitionName? tablePartitionDescription?
+    : PARTITION
+    | PARTITION partitionName
+    | PARTITION tablePartitionDescription
+    | PARTITION partitionName tablePartitionDescription
     ;
 
 constraint
@@ -1094,6 +1099,7 @@ constraint
 
 systemPartitioning
     : PARTITION BY SYSTEM (PARTITIONS NUMBER_ | referencePartitionDesc (COMMA_ 
referencePartitionDesc)*)?
+    | PARTITION BY SYSTEM
     ;
 
 consistentHashPartitions
@@ -1125,7 +1131,14 @@ listPartitionsetClause
     ;
 
 attributeClusteringClause
-    : CLUSTERING clusteringJoin? clusterClause clusteringWhen? zonemapClause?
+    : CLUSTERING clusterClause
+    | CLUSTERING clusteringJoin clusterClause
+    | CLUSTERING clusterClause clusteringWhen
+    | CLUSTERING clusteringJoin clusterClause clusteringWhen
+    | CLUSTERING clusterClause zonemapClause
+    | CLUSTERING clusteringJoin clusterClause zonemapClause
+    | CLUSTERING clusterClause clusteringWhen zonemapClause
+    | CLUSTERING clusteringJoin clusterClause clusteringWhen zonemapClause
     ;
 
 clusteringJoin
@@ -2724,7 +2737,20 @@ alterAuditPolicy
     ;
 
 subAuditClause
-    : (privilegeAuditClause)? (actionAuditClause)? (roleAuditClause)? (ONLY 
TOPLEVEL)?
+    : privilegeAuditClause
+    | actionAuditClause
+    | roleAuditClause
+    | ONLY TOPLEVEL
+    | (privilegeAuditClause actionAuditClause)
+    | (privilegeAuditClause roleAuditClause)
+    | (privilegeAuditClause ONLY TOPLEVEL)
+    | (actionAuditClause roleAuditClause)
+    | (actionAuditClause ONLY TOPLEVEL)
+    | (actionAuditClause roleAuditClause ONLY TOPLEVEL)
+    | (privilegeAuditClause roleAuditClause ONLY TOPLEVEL)
+    | (privilegeAuditClause actionAuditClause ONLY TOPLEVEL)
+    | (privilegeAuditClause actionAuditClause roleAuditClause)
+    | (privilegeAuditClause actionAuditClause roleAuditClause ONLY TOPLEVEL)
     ;
 
 privilegeAuditClause
@@ -2919,7 +2945,9 @@ alterOperator
 
 addBindingClause
     : ADD BINDING LP_ parameterType (COMMA_ parameterType)* RP_
-      RETURN LP_ returnType RP_ implementationClause? usingFunctionClause
+      RETURN LP_ returnType RP_ implementationClause usingFunctionClause
+    | ADD BINDING LP_ parameterType (COMMA_ parameterType)* RP_
+      RETURN LP_ returnType RP_ usingFunctionClause
     ;
 
 implementationClause

Reply via email to