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 0674b5a1eb0 Fix oracle show systemVariable syntax loose issue (#31365)
0674b5a1eb0 is described below

commit 0674b5a1eb049e3f27dad72aae1204860d481d17
Author: yydeng626 <[email protected]>
AuthorDate: Tue May 28 08:09:56 2024 +0800

    Fix oracle show systemVariable syntax loose issue (#31365)
    
    * fix oracle show systemVariable syntax loose issue
    
    * fix sql parser error
    
    * fix sql parser error
---
 .../src/main/antlr4/imports/oracle/BaseRule.g4     |   3 +-
 .../src/main/antlr4/imports/oracle/DALStatement.g4 |  77 +++-
 .../src/main/antlr4/imports/oracle/Keyword.g4      | 456 +++++++++++++++++++++
 3 files changed, 531 insertions(+), 5 deletions(-)

diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
index 09fe2704bb3..e7350108a0e 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/BaseRule.g4
@@ -334,7 +334,8 @@ unreservedWord3
     | WIDTH_BUCKET | WRAPPED | XID | XMLAGG | XMLATTRIBUTES | XMLCAST | 
XMLCDATA | XMLCOLATTVAL | XMLCOMMENT | XMLCONCAT | XMLDIFF
     | XMLEXISTS | XMLEXISTS2 | XMLFOREST | XMLINDEX_REWRITE | 
XMLINDEX_REWRITE_IN_SELECT | XMLINDEX_SEL_IDX_TBL | XMLISNODE
     | XMLISVALID | XMLNAMESPACES | XMLPARSE | XMLPATCH | XMLPI | XMLQUERY | 
XMLROOT | XMLSERIALIZE | XMLTABLE | XMLTOOBJECT
-    | XMLTRANSFORM | XMLTRANSFORMBLOB | XML_DML_RWT_STMT | XPATHTABLE | 
XS_SYS_CONTEXT | X_DYN_PRUNE | RESULT | TABLE | NUMBER | CHAR | SQLCODE
+    | XMLTRANSFORM | XMLTRANSFORMBLOB | XML_DML_RWT_STMT | XPATHTABLE | 
XS_SYS_CONTEXT | X_DYN_PRUNE | RESULT | TABLE | NUMBER | CHAR
+    | SQLCODE | TAB | TERM | NUM
     ;
 
 schemaName
diff --git 
a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4 
b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
index 4eb41eba31c..cff93b1dc35 100644
--- a/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
+++ b/parser/sql/dialect/oracle/src/main/antlr4/imports/oracle/DALStatement.g4
@@ -44,13 +44,82 @@ originalName
     ;
 
 systemVariable
-    : identifier
+    : (APPI | APPINFO)
+    | (ARRAY | ARRAYSIZE)
+    | (AUTO | AUTOCOMMIT)
+    | (AUTOP | AUTOPN)
+    | AUTORECOVERY
+    | (AUTOT | AUTOTRACE)
+    | (BLO | BLOCKTERMINATOR)
+    | (CMDS | CMDSEP)
+    | (COLINVI | COLINVISIBLE)
+    | COLSEP
+    | (CON | CONCAT)
+    | (COPYC | COPYCOMMIT)
+    | COPYTYPECHECK
+    | (DEF | DEFINE)
+    | DESCRIBE
+    | ECHO
+    | (EDITF | EDITFILE)
+    | (EMB | EMBEDDED)
+    | ERRORDETAILS
+    | (ERRORL | ERRORLOGGING)
+    | (ESC | ESCAPE)
+    | ESCCHAR
+    | (EXITCOMMIT | OMMIT)
+    | FEEDBACK
+    | FLAGGER
+    | (FLU | FLUSH)
+    | (HEADING | HEA)
+    | (HISTORY | HIST)
+    | INSTANCE
+    | JSONPRINT
+    | (LINESIZE | LIN)
+    | (LOBOFFSET | LOBOF)
+    | LOGSOURCE
+    | LONG
+    | LONGCHUNKSIZE
+    | (MARK | MARKUP)
+    | (NEWPAGE | NEWP)
+    | NULL
+    | (NUMFORMAT | NUMF)
+    | (NUMWIDTH | NUM)
+    | (PAGESIZE | PAGES)
+    | (PAUSE | PAU)
+    | RECSEP
+    | RECSEPCHAR
+    | ROWLIMIT
+    | ROWPREFETCH
+    | SECUREDCOL
+    | (SERVEROUTPUT | SERVEROUT)
+    | (SHIFTINOUT | SHIFT)
+    | (SHOWMODE | SHOW)
+    | (SQLBLANKLINES | SQLBL)
+    | (SQLCASE | SQLC)
+    | (SQLCONTINUE | SQLCO)
+    | (SQLNUMBER | SQLN)
+    | (SQLPLUSCOMPATIBILITY | SQLPLUSCOMPAT)
+    | (SQLPREFIX | SQLPRE)
+    | (SQLPROMPT | SQLP)
+    | (SQLTERMINATOR | SQLT)
+    | (STATEMENTCACHE | STATEMENTC)
+    | (SUFFIX | SUF)
+    | TAB
+    | (TERMOUT | TERM)
+    | (TIME | TI)
+    | (TIMING | TIMI)
+    | (TRIMOUT | TRIM)
+    | (TRIMSPOOL | TRIMS)
+    | (UNDERLINE | UND)
+    | (VERIFY | VER)
+    | (WRAP | WRA)
+    | (XMLOPTIMIZATIONCHECK | XMLOPT)
+    | XQUERY
     ;
 
 showOptions
-// TODO refactor systemVariable sytax according to 
https://docs.oracle.com/en/database/oracle/oracle-database/23/sqpug/SET-system-variable-summary.html#GUID-A6A5ADFF-4119-4BA4-A13E-BC8D29166FAE
-//    : systemVariable
-    : ALL
+    : systemVariable
+    | ALL
     | CON_ID
     | CON_NAME
     | EDITION
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 e54bcb7faeb..138eb1bb72f 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
@@ -951,3 +951,459 @@ LRTRIM
 GETLENGTH
     : G E T L E N G T H
     ;
+
+APPI
+    : A P P I
+    ;
+
+APPINFO
+    : A P P I N F O
+    ;
+
+ARRAYSIZE
+    : A R R A Y S I Z E
+    ;
+
+AUTO
+    : A U T O
+    ;
+
+AUTOCOMMIT
+    : A U T O C O M M I T
+    ;
+
+AUTOP
+    : A U T O P
+    ;
+
+AUTOPN
+    : A U T O P N
+    ;
+
+AUTORECOVERY
+    : A U T O R E C O V E R Y
+    ;
+
+AUTOT
+    : A U T O T
+    ;
+
+AUTOTRACE
+    : A U T O T R A C E
+    ;
+
+BLO
+    : B L O
+    ;
+
+BLOCKTERMINATOR
+    : B L O C K T E R M I N A T O R
+    ;
+
+CMDS
+    : C M D S
+    ;
+
+CMDSEP
+    : C M D S E P
+    ;
+
+COLINVI
+    : C O L I N V I
+    ;
+
+COLINVISIBLE
+    : C O L I N V I S I B L E
+    ;
+
+COLSEP
+    : C O L S E P
+    ;
+
+CON
+    : C O N
+    ;
+
+CONCAT
+    : C O N C A T
+    ;
+
+COPYC
+    : C O P Y C
+    ;
+
+COPYCOMMIT
+    : C O P Y C O M M I T
+    ;
+
+COPYTYPECHECK
+    : C O P Y T Y P E C H E C K
+    ;
+
+DEF
+    : D E F
+    ;
+
+DEFINE
+    : D E F I N E
+    ;
+
+DESCRIBE
+    : D E S C R I B E
+    ;
+
+ECHO
+    : E C H O
+    ;
+
+EDITF
+    : E D I T F
+    ;
+
+EDITFILE
+    : E D I T F I L E
+    ;
+
+EMB
+    : E M B
+    ;
+
+EMBEDDED
+    : E M B E D D E D
+    ;
+
+ERRORDETAILS
+    : E R R O R D E T A I L S
+    ;
+
+ERRORL
+    : E R R O R L
+    ;
+
+ERRORLOGGING
+    : E R R O R L O G G I N G
+    ;
+
+ESC
+    : E S C
+    ;
+
+ESCAPE
+    : E S C A P E
+    ;
+
+ESCCHAR
+    : E S C C H A R
+    ;
+
+EXITCOMMIT
+    : E X I T C O M M I T
+    ;
+
+OMMIT
+    : O M M I T
+    ;
+
+FEEDBACK
+    : F E E D B A C K
+    ;
+
+FLAGGER
+    : F L A G G E R
+    ;
+
+FLU
+    : F L U
+    ;
+
+FLUSH
+    : F L U S H
+    ;
+
+HEADING
+    : H E A D I N G
+    ;
+
+HEA
+    : H E A
+    ;
+
+HISTORY
+    : H I S T O R Y
+    ;
+
+HIST
+    : H I S T
+    ;
+
+JSONPRINT
+    : J S O N P R I N T
+    ;
+
+LINESIZE
+    : L I N E S I Z E
+    ;
+
+LIN
+    : L I N
+    ;
+
+LOBOFFSET
+    : L O B O F F S E T
+    ;
+
+LOBOF
+    : L O B O F
+    ;
+
+LOGSOURCE
+    : L O G S O U R C E
+    ;
+
+LONG
+    : L O N G
+    ;
+
+LONGCHUNKSIZE
+    : L O N G C H U N K S I Z E
+    ;
+
+MARK
+    : M A R K
+    ;
+
+MARKUP
+    : M A R K U P
+    ;
+
+NEWPAGE
+    : N E W P A G E
+    ;
+
+NEWP
+    : N E W P
+    ;
+
+NUMFORMAT
+    : N U M F O R M A T
+    ;
+
+NUMF
+    : N U M F
+    ;
+
+NUMWIDTH
+    : N U M W I D T H
+    ;
+
+NUM
+    : N U M
+    ;
+
+PAGESIZE
+    : P A G E S I Z E
+    ;
+
+PAGES
+    : P A G E S
+    ;
+
+PAUSE
+    : P A U S E
+    ;
+
+PAU
+    : P A U
+    ;
+
+RECSEP
+    : R E C S E P
+    ;
+
+RECSEPCHAR
+    : R E C S E P C H A R
+    ;
+
+ROWLIMIT
+    : R O W L I M I T
+    ;
+
+ROWPREFETCH
+    : R O W P R E F E T C H
+    ;
+
+SECUREDCOL
+    : S E C U R E D C O L
+    ;
+
+SERVEROUTPUT
+    : S E R V E R O U T P U T
+    ;
+
+SERVEROUT
+    : S E R V E R O U T
+    ;
+
+SHIFTINOUT
+    : S H I F T I N O U T
+    ;
+
+SHIFT
+    : S H I F T
+    ;
+
+SHOWMODE
+    : S H O W M O D E
+    ;
+
+SQLBLANKLINES
+    : S Q L B L A N K L I N E S
+    ;
+
+SQLBL
+    : S Q L B L
+    ;
+
+SQLCASE
+    : S Q L C A S E
+    ;
+
+SQLC
+    : S Q L C
+    ;
+
+SQLCONTINUE
+    : S Q L C O N T I N U E
+    ;
+
+SQLCO
+    : S Q L C O
+    ;
+
+SQLNUMBER
+    : S Q L N U M B E R
+    ;
+
+SQLN
+    : S Q L N
+    ;
+
+SQLPLUSCOMPATIBILITY
+    : S Q L P L U S C O M P A T I B I L I T Y
+    ;
+
+SQLPLUSCOMPAT
+    : S Q L P L U S C O M P A T
+    ;
+
+SQLPREFIX
+    : S Q L P R E F I X
+    ;
+
+SQLPRE
+    : S Q L P R E
+    ;
+
+SQLPROMPT
+    : S Q L P R O M P T
+    ;
+
+SQLP
+    : S Q L P
+    ;
+
+SQLTERMINATOR
+    : S Q L T E R M I N A T O R
+    ;
+
+SQLT
+    : S Q L T
+    ;
+
+STATEMENTCACHE
+    : S T A T E M E N T C A C H E
+    ;
+
+STATEMENTC
+    : S T A T E M E N T C
+    ;
+
+SUFFIX
+    : S U F F I X
+    ;
+
+SUF
+    : S U F
+    ;
+
+TAB
+    : T A B
+    ;
+
+TERMOUT
+    : T E R M O U T
+    ;
+
+TERM
+    : T E R M
+    ;
+
+TI
+    : T I
+    ;
+
+TIMING
+    : T I M I N G
+    ;
+
+TIMI
+    : T I M I
+    ;
+
+TRIMOUT
+    : T R I M O U T
+    ;
+
+TRIMSPOOL
+    : T R I M S P O O L
+    ;
+
+TRIMS
+    : T R I M S
+    ;
+
+UNDERLINE
+    : U N D E R L I N E
+    ;
+
+UND
+    : U N D
+    ;
+
+VERIFY
+    : V E R I F Y
+    ;
+
+VER
+    : V E R
+    ;
+
+WRAP
+    : W R A P
+    ;
+
+WRA
+    : W R A
+    ;
+
+XMLOPTIMIZATIONCHECK
+    : X M L O P T I M I Z A T I O N C H E C K
+    ;
+
+XMLOPT
+    : X M L O P T
+    ;
+
+XQUERY
+    : X Q U E R Y
+    ;

Reply via email to