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