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_
+ ;