Skip to content

Commit afcc0a9

Browse files
committed
1 parent 1d20385 commit afcc0a9

File tree

2 files changed

+12
-17
lines changed

2 files changed

+12
-17
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
<dependency>
111111
<groupId>net.java.dev.javacc</groupId>
112112
<artifactId>javacc</artifactId>
113-
<version>7.0.3</version>
113+
<version>7.0.4</version>
114114
</dependency>
115115
</dependencies>
116116
</plugin>

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

Lines changed: 11 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2259,15 +2259,18 @@ Expression RegularCondition() #RegularCondition:
22592259
Expression SQLCondition():
22602260
{
22612261
Expression result;
2262+
Expression left;
22622263
}
22632264
{
22642265
(
22652266
result=ExistsExpression()
22662267
| LOOKAHEAD(InExpression()) result=InExpression()
2267-
| LOOKAHEAD(Between()) result=Between()
2268-
| LOOKAHEAD(IsNullExpression()) result=IsNullExpression()
2269-
| LOOKAHEAD(3) result=LikeExpression()
2270-
| result=SimilarToExpression()
2268+
| left = SimpleExpression()
2269+
(LOOKAHEAD(2) result=Between(left)
2270+
| LOOKAHEAD(2) result=IsNullExpression(left)
2271+
| LOOKAHEAD(2) result=LikeExpression(left)
2272+
| result=SimilarToExpression(left)
2273+
)
22712274
)
22722275
{ return result; }
22732276
}
@@ -2299,15 +2302,13 @@ Expression InExpression() #InExpression :
22992302
}
23002303
}
23012304

2302-
Expression Between() :
2305+
Expression Between(Expression leftExpression) :
23032306
{
23042307
Between result = new Between();
2305-
Expression leftExpression = null;
23062308
Expression betweenExpressionStart = null;
23072309
Expression betweenExpressionEnd = null;
23082310
}
23092311
{
2310-
leftExpression=SimpleExpression()
23112312
[<K_NOT> { result.setNot(true); }]
23122313
<K_BETWEEN> betweenExpressionStart=SimpleExpression() <K_AND> betweenExpressionEnd=SimpleExpression()
23132314

@@ -2319,14 +2320,12 @@ Expression Between() :
23192320
}
23202321
}
23212322

2322-
Expression LikeExpression() #LikeExpression:
2323+
Expression LikeExpression(Expression leftExpression) #LikeExpression:
23232324
{
23242325
LikeExpression result = new LikeExpression();
2325-
Expression leftExpression = null;
23262326
Expression rightExpression = null;
23272327
}
23282328
{
2329-
leftExpression=SimpleExpression()
23302329
[<K_NOT> { result.setNot(true); } ] ( <K_LIKE> | <K_ILIKE> { result.setCaseInsensitive(true); } ) rightExpression=SimpleExpression()
23312330
[<K_ESCAPE> token=<S_CHAR_LITERAL> { result.setEscape((new StringValue(token.image)).getValue()); }]
23322331
{
@@ -2337,14 +2336,12 @@ Expression LikeExpression() #LikeExpression:
23372336
}
23382337
}
23392338

2340-
Expression SimilarToExpression() #SimilarToExpression:
2339+
Expression SimilarToExpression(Expression leftExpression) #SimilarToExpression:
23412340
{
23422341
SimilarToExpression result = new SimilarToExpression();
2343-
Expression leftExpression = null;
23442342
Expression rightExpression = null;
23452343
}
23462344
{
2347-
leftExpression=SimpleExpression()
23482345
[<K_NOT> { result.setNot(true); } ]
23492346
<K_SIMILAR> <K_TO>
23502347
rightExpression=SimpleExpression()
@@ -2357,13 +2354,11 @@ Expression SimilarToExpression() #SimilarToExpression:
23572354
}
23582355
}
23592356

2360-
Expression IsNullExpression():
2357+
Expression IsNullExpression(Expression leftExpression):
23612358
{
23622359
IsNullExpression result = new IsNullExpression();
2363-
Expression leftExpression = null;
23642360
}
23652361
{
2366-
leftExpression=SimpleExpression()
23672362
(<K_ISNULL> { result.setUseIsNull(true); } | <K_IS> [<K_NOT> { result.setNot(true); } ] <K_NULL> )
23682363

23692364
{

0 commit comments

Comments
 (0)