Skip to content

Commit 51fcdea

Browse files
committed
transformed primary expression and sign parsing
1 parent 64ce9ff commit 51fcdea

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

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

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2334,47 +2334,49 @@ Expression PrimaryExpression():
23342334
ColDataType type = null;
23352335
}
23362336
{
2337+
[sign="+" | sign="-"]
23372338
(
23382339
<K_NULL> { retval = new NullValue(); }
23392340

23402341
| retval=CaseWhenExpression()
23412342

2342-
| LOOKAHEAD(3) [sign="+" | sign="-"] "?" { retval = new JdbcParameter(++jdbcParameterIndex, false); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)retval).setUseFixedIndex(true); ((JdbcParameter)retval).setIndex(Integer.valueOf(token.image)); } ]
2343+
| LOOKAHEAD(2) "?" { retval = new JdbcParameter(++jdbcParameterIndex, false); }
2344+
[ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)retval).setUseFixedIndex(true); ((JdbcParameter)retval).setIndex(Integer.valueOf(token.image)); } ]
23432345

2344-
| LOOKAHEAD(3) [sign="+" | sign="-"] retval=JdbcNamedParameter()
2346+
| LOOKAHEAD(2) retval=JdbcNamedParameter()
23452347

2346-
| LOOKAHEAD(3) [sign="+" | sign="-"] retval=UserVariable()
2348+
| LOOKAHEAD(2) retval=UserVariable()
23472349

2348-
| LOOKAHEAD(3) [sign="+" | sign="-"] retval=NumericBind()
2350+
| LOOKAHEAD(2) retval=NumericBind()
23492351

23502352
| LOOKAHEAD(AnalyticExpression()) retval=AnalyticExpression()
23512353

23522354
| LOOKAHEAD(3) retval=ExtractExpression()
23532355

23542356
| retval=MySQLGroupConcat()
23552357

2356-
| LOOKAHEAD([sign="+" | sign="-"] JsonExpression()) [sign="+" | sign="-"] retval=JsonExpression()
2358+
| LOOKAHEAD(JsonExpression()) retval=JsonExpression()
23572359

2358-
| LOOKAHEAD(["+" | "-"] Function()) [sign="+" | sign="-"] retval=Function()
2360+
| LOOKAHEAD(Function()) retval=Function()
23592361

2360-
| LOOKAHEAD(2) [sign="+" | sign="-"] token=<S_DOUBLE> { retval = new DoubleValue(token.image); }
2362+
| token=<S_DOUBLE> { retval = new DoubleValue(token.image); }
23612363

2362-
| LOOKAHEAD(2) [sign="+" | sign="-"] token=<S_LONG> { retval = new LongValue(token.image); }
2364+
| token=<S_LONG> { retval = new LongValue(token.image); }
23632365

2364-
| LOOKAHEAD(2) [sign="+" | sign="-"] token=<S_HEX> { retval = new HexValue(token.image); }
2366+
| token=<S_HEX> { retval = new HexValue(token.image); }
23652367

2366-
| LOOKAHEAD(2) [sign="+" | sign="-"] retval=CastExpression()
2368+
| LOOKAHEAD(2) retval=CastExpression()
23672369

23682370
// support timestamp expressions
23692371
| token=<K_TIME_KEY_EXPR> { retval = new TimeKeyExpression(token.image); }
23702372

23712373
| LOOKAHEAD(2) retval=DateTimeLiteralExpression()
23722374

2373-
| LOOKAHEAD(["+" | "-"] Column()) [sign="+" | sign="-"] retval=Column()
2375+
| LOOKAHEAD(Column()) retval=Column()
23742376

2375-
| LOOKAHEAD(["+" | "-"] "(" SimpleExpression() ")") [sign="+" | sign="-"] "(" retval=SimpleExpression() ")" {retval = new Parenthesis(retval); }
2377+
| LOOKAHEAD("(" SimpleExpression() ")") "(" retval=SimpleExpression() ")" {retval = new Parenthesis(retval); }
23762378

2377-
| LOOKAHEAD(3) [sign="+" | sign="-"] "(" retval=SubSelect() ")"
2379+
| LOOKAHEAD(3) "(" retval=SubSelect() ")"
23782380

23792381
| token=<S_CHAR_LITERAL> { retval = new StringValue(token.image); }
23802382

0 commit comments

Comments
 (0)