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 7be997e66d0 Support Oracle autonomous_trans_pragma (#27916)
7be997e66d0 is described below

commit 7be997e66d0cbf557ad83946c7740a07255ef111
Author: 吴伟杰 <[email protected]>
AuthorDate: Fri Aug 4 17:02:08 2023 +0800

    Support Oracle autonomous_trans_pragma (#27916)
---
 .../dialect/oracle/src/main/antlr4/imports/oracle/Keyword.g4  |  4 ++++
 .../dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4    | 11 ++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/Keyword.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/Keyword.g4
index f51bb79ab10..cf28796bcd2 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/Keyword.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/Keyword.g4
@@ -819,3 +819,7 @@ ANYTYPE
 ANYDATASET
     : A N Y D A T A S E T
     ;
+
+AUTONOMOUS_TRANSACTION
+    : A U T O N O M O U S UL_ T R A N S A C T I O N
+    ;
diff --git a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4
index dee98037ae1..3b70832523e 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/PLSQL.g4
@@ -91,7 +91,7 @@ declareSection
     ;
     
 declareItem
-    : typeDefinition | cursorDeclaration | itemDeclaration | 
functionDeclaration | procedureDeclaration | cursorDefinition | 
functionDefinition | procedureDefinition
+    : typeDefinition | cursorDeclaration | itemDeclaration | 
functionDeclaration | procedureDeclaration | cursorDefinition | 
functionDefinition | procedureDefinition | pragma
     ;
 
 cursorDefinition
@@ -231,3 +231,12 @@ assocArrayTypeDef
 rowtypeAttribute
     : (variableName | objectName) MOD_ ROWTYPE
     ;
+
+pragma
+    : autonomousTransPragma | restrictReferencesPragma
+//    TODO Support more pragma
+    ;
+
+autonomousTransPragma
+    : PRAGMA AUTONOMOUS_TRANSACTION SEMI_
+    ;

Reply via email to