Skip to content

Commit 6c98f10

Browse files
feat: SessionStatement with options
- allow `KEEP` Signed-off-by: Andreas Reichel <andreas@manticore-projects.com>
1 parent 595d4ef commit 6c98f10

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2143,14 +2143,14 @@ SessionStatement SessionStatement():
21432143
// options
21442144
[
21452145
LOOKAHEAD(2) <K_WITH>
2146-
idToken = <S_IDENTIFIER>
2146+
( idToken = <S_IDENTIFIER> | idToken = <K_KEEP> )
21472147
"="
21482148
( actionToken = <S_IDENTIFIER> | actionToken = <S_QUOTED_IDENTIFIER> | actionToken = <S_CHAR_LITERAL> | actionToken = <S_LONG> | actionToken = <K_TRUE> | actionToken = <K_FALSE> | actionToken = <K_ON> | actionToken = <K_OFF> | actionToken = <K_YES> | actionToken = <K_NO> )
21492149
{ sessionsStatement.putOption(idToken.image, actionToken.image ); }
21502150

21512151
(
21522152
","
2153-
idToken = <S_IDENTIFIER>
2153+
( idToken = <S_IDENTIFIER> | idToken = <K_KEEP> )
21542154
"="
21552155
( actionToken = <S_IDENTIFIER> | actionToken = <S_QUOTED_IDENTIFIER> | actionToken = <S_CHAR_LITERAL> | actionToken = <S_LONG> | actionToken = <K_TRUE> | actionToken = <K_FALSE> | actionToken = <K_ON> | actionToken = <K_OFF> | actionToken = <K_YES> | actionToken = <K_NO> )
21562156
{ sessionsStatement.putOption(idToken.image, actionToken.image ); }

src/test/java/net/sf/jsqlparser/statement/SessionStatementTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ class SessionStatementTest {
2222
"SESSION START 1234", "SESSION START", "SESSION APPLY 'test'", "SESSION APPLY",
2323
"SESSION DROP \"test\"", "SESSION DROP", "SESSION SHOW test", "SESSION SHOW",
2424
"SESSION DESCRIBE 1234", "SESSION DESCRIBE", "SESSION START unnamed.session1",
25-
"SESSION START unnamed.session1 WITH persist=false,cleanup=on"
25+
"SESSION START unnamed.session1 WITH persist=false,cleanup=on",
26+
"SESSION APPLY unnamed.session1 WITH persist=false,keep=true"
2627
})
2728
void testStartSession(String sqlStr) throws JSQLParserException {
2829
SessionStatement sessionStatement =

0 commit comments

Comments
 (0)