Skip to content

Commit e1a74e1

Browse files
author
Stefan Steinhauser
committed
feat: Add LOOKAHEADs for IMPORT statement
1 parent dcea88f commit e1a74e1

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

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

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,7 @@ LikeClause LikeClause(): {
10541054
[columnsList = ColumnSelectItemsList() { likeClause.setColumnsList(columnsList); }]
10551055

10561056
[
1057+
LOOKAHEAD(2)
10571058
(
10581059
<K_INCLUDING> { likeClause.setIncludingDefaults(true); }
10591060
| <K_EXCLUDING> { likeClause.setExcludingDefaults(true); }
@@ -1062,6 +1063,7 @@ LikeClause LikeClause(): {
10621063
]
10631064

10641065
[
1066+
LOOKAHEAD(2)
10651067
(
10661068
<K_INCLUDING> { likeClause.setIncludingIdentity(true); }
10671069
| <K_EXCLUDING> { likeClause.setExcludingIdentity(true); }
@@ -1070,6 +1072,7 @@ LikeClause LikeClause(): {
10701072
]
10711073

10721074
[
1075+
LOOKAHEAD(2)
10731076
(
10741077
<K_INCLUDING> { likeClause.setIncludingComments(true); }
10751078
| <K_EXCLUDING> { likeClause.setExcludingComments(true); }
@@ -1167,7 +1170,7 @@ DBMSSource DBMSSource() #DBMSSource: {
11671170

11681171
(
11691172
<K_TABLE> table = Table() { dbmsSource.setTable(table); }
1170-
[ columns = ParenthesedColumnList() { dbmsSource.setColumns(columns); } ]
1173+
[ LOOKAHEAD(2) columns = ParenthesedColumnList() { dbmsSource.setColumns(columns); } ]
11711174
| <K_STATEMENT> token = <S_CHAR_LITERAL>
11721175
{
11731176
statements = new ArrayList<StringValue>();
@@ -1210,7 +1213,7 @@ FileSource FileSource() #FileSource: {
12101213

12111214
(
12121215
(
1213-
connectionDefinition = ConnectionDefinition()
1216+
LOOKAHEAD(2) connectionDefinition = ConnectionDefinition()
12141217
| connectionDefinition = CloudConnectionDefinition()
12151218
)
12161219
<K_FILE> token = <S_CHAR_LITERAL>
@@ -1237,7 +1240,7 @@ FileSource FileSource() #FileSource: {
12371240
(
12381241
(
12391242
(
1240-
connectionDefinition = ConnectionDefinition()
1243+
LOOKAHEAD(2) connectionDefinition = ConnectionDefinition()
12411244
| connectionDefinition = CloudConnectionDefinition()
12421245
)
12431246
<K_FILE> token = <S_CHAR_LITERAL>
@@ -1291,10 +1294,12 @@ FileSource FileSource() #FileSource: {
12911294
{ fileSource.setConnectionFileDefinitions(connectionFileDefinitions); }
12921295

12931296
[
1297+
LOOKAHEAD(2)
12941298
"("
12951299
(
12961300
(
12971301
(
1302+
LOOKAHEAD(2)
12981303
token=<S_LONG>
12991304
".."
13001305
token2=<S_LONG>
@@ -1310,6 +1315,7 @@ FileSource FileSource() #FileSource: {
13101315
(
13111316
","
13121317
(
1318+
LOOKAHEAD(2)
13131319
token=<S_LONG>
13141320
".."
13151321
token2=<S_LONG>
@@ -1401,7 +1407,8 @@ FileSource FileSource() #FileSource: {
14011407
| token=<K_SKIP> "=" token2=<S_LONG>
14021408
{ FileOption fileOption = new FileOption(token.image, new LongValue(token2.image)); }
14031409
)
1404-
| (
1410+
| LOOKAHEAD(2)
1411+
(
14051412
token=<K_ROW> token2=<K_SEPARATOR> "=" token3=<S_CHAR_LITERAL>
14061413
| token=<K_COLUMN>
14071414
(
@@ -1458,7 +1465,8 @@ ScriptSource ScriptSource(): {
14581465

14591466
[ connectionDefinition = ConnectionDefinition() { scriptSource.setConnectionDefinition(connectionDefinition); } ]
14601467

1461-
[
1468+
[
1469+
LOOKAHEAD(2)
14621470
{
14631471
List<String> properties = new ArrayList<String>();
14641472
List<StringValue> values = new ArrayList<StringValue>();
@@ -1468,6 +1476,7 @@ ScriptSource ScriptSource(): {
14681476

14691477
<K_WITH>
14701478
(
1479+
LOOKAHEAD(2)
14711480
(
14721481
property = RelObjectNameWithoutValue()
14731482
"="
@@ -1558,13 +1567,17 @@ ErrorClause ErrorClause(): {
15581567
<K_ERRORS> <K_INTO>
15591568
errorDestination = ErrorDestination() { errorClause.setErrorDestination(errorDestination); }
15601569
[
1570+
LOOKAHEAD(2)
15611571
"("
15621572
expression = Expression() { errorClause.setExpression(expression); }
15631573
")"
15641574
]
15651575
[
1566-
<K_REPLACE> { errorClause.setReplace(true); }
1567-
| <K_TRUNCATE> { errorClause.setTruncate(true); }
1576+
LOOKAHEAD(2)
1577+
(
1578+
<K_REPLACE> { errorClause.setReplace(true); }
1579+
| <K_TRUNCATE> { errorClause.setTruncate(true); }
1580+
)
15681581
]
15691582
[ rejectClause = RejectClause() { errorClause.setRejectClause(rejectClause); } ]
15701583
| rejectClause = RejectClause() { errorClause.setRejectClause(rejectClause); }
@@ -1594,7 +1607,7 @@ ErrorDestination ErrorDestination(): {
15941607
ErrorDestination errorDestination;
15951608
} {
15961609
(
1597-
errorDestination = CSVFileDestination()
1610+
LOOKAHEAD(2) errorDestination = CSVFileDestination()
15981611
| errorDestination = Table()
15991612
)
16001613

@@ -1611,7 +1624,7 @@ CSVFileDestination CSVFileDestination(): {
16111624
(
16121625
<K_CSV>
16131626
(
1614-
connectionDefinition = ConnectionDefinition()
1627+
LOOKAHEAD(2) connectionDefinition = ConnectionDefinition()
16151628
| connectionDefinition = CloudConnectionDefinition()
16161629
)
16171630
{ csvFileDestination.setConnectionDefinition(connectionDefinition); }

0 commit comments

Comments
 (0)