@@ -530,6 +530,8 @@ SPECIAL_TOKEN:
530
530
531
531
TOKEN:
532
532
{
533
+ <S_PARAMETER: ["$"] (["0"-"9"])+ >
534
+ |
533
535
<S_IDENTIFIER: <LETTER> (<PART_LETTER>)*>
534
536
| <#LETTER: <UnicodeIdentifierStart>
535
537
| <Nd> | [ "$" , "#", "_" ] // Not SQL:2016 compliant!
@@ -3126,27 +3128,20 @@ OrderByElement OrderByElement():
3126
3128
}
3127
3129
}
3128
3130
3129
- JdbcParameter SimpleJdbcParameter() : {
3131
+ JdbcParameter JdbcParameter() : {
3132
+ Token tk;
3130
3133
JdbcParameter retval;
3131
3134
}
3132
3135
{
3133
- "?" { retval = new JdbcParameter(++jdbcParameterIndex, false); }
3134
- [ LOOKAHEAD(2) token = <S_LONG> { retval.setUseFixedIndex(true); retval.setIndex(Integer.valueOf(token.image)); } ]
3135
- {
3136
- return retval;
3137
- }
3138
- }
3136
+ ( tk="?" | tk=<S_PARAMETER> )
3137
+ { retval = new JdbcParameter(++jdbcParameterIndex, false, tk.image); }
3139
3138
3140
- JdbcNamedParameter SimpleJdbcNamedParameter() : {
3141
- String name;
3142
- }
3143
- {
3144
- ":" name = RelObjectNameExt()
3145
- {
3146
- return new JdbcNamedParameter(token.image);
3147
- }
3139
+ [ LOOKAHEAD(2) token = <S_LONG> { retval.setUseFixedIndex(true); retval.setIndex(Integer.valueOf(token.image)); } ]
3140
+
3141
+ { return retval; }
3148
3142
}
3149
3143
3144
+
3150
3145
Limit LimitWithOffset() #LimitWithOffset:
3151
3146
{
3152
3147
Limit limit = new Limit();
@@ -3323,7 +3318,7 @@ Top Top():
3323
3318
(
3324
3319
token=<S_LONG> { top.setExpression(new LongValue(token.image)); }
3325
3320
|
3326
- jdbc = SimpleJdbcParameter () { top.setExpression(jdbc); }
3321
+ jdbc = JdbcParameter () { top.setExpression(jdbc); }
3327
3322
/*"?" { top.setExpression(new JdbcParameter(++jdbcParameterIndex, false)); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)(top.getExpression())).setUseFixedIndex(true); ((JdbcParameter)(top.getExpression())).setIndex(Integer.valueOf(token.image)); } ]*/
3328
3323
|
3329
3324
":" { top.setExpression(new JdbcNamedParameter()); } [ LOOKAHEAD(2) token = <S_IDENTIFIER> { ((JdbcNamedParameter)top.getExpression()).setName(token.image); } ]
@@ -3354,7 +3349,7 @@ Skip Skip():
3354
3349
(
3355
3350
token=<S_LONG> { skip.setRowCount(Long.parseLong(token.image)); }
3356
3351
| token=<S_IDENTIFIER> { skip.setVariable(token.image); }
3357
- | jdbc = SimpleJdbcParameter () { skip.setJdbcParameter(jdbc); }
3352
+ | jdbc = JdbcParameter () { skip.setJdbcParameter(jdbc); }
3358
3353
/* "?" { skip.setJdbcParameter(new JdbcParameter(++jdbcParameterIndex, false)); } [ LOOKAHEAD(2) token = <S_LONG> { skip.getJdbcParameter().setUseFixedIndex(true); skip.getJdbcParameter().setIndex(Integer.valueOf(token.image)); } ] */
3359
3354
)
3360
3355
{
@@ -3396,7 +3391,7 @@ First First():
3396
3391
|
3397
3392
token=<S_IDENTIFIER> { first.setVariable(token.image); }
3398
3393
|
3399
- jdbc = SimpleJdbcParameter () { first.setJdbcParameter(jdbc); }
3394
+ jdbc = JdbcParameter () { first.setJdbcParameter(jdbc); }
3400
3395
)
3401
3396
{
3402
3397
return first;
@@ -4235,9 +4230,9 @@ Expression PrimaryExpression() #PrimaryExpression:
4235
4230
4236
4231
| LOOKAHEAD(3, {!interrupted}) retval=CaseWhenExpression()
4237
4232
4238
- | LOOKAHEAD(3) retval = SimpleJdbcParameter ()
4233
+ | retval = JdbcParameter ()
4239
4234
4240
- | LOOKAHEAD(2) retval=JdbcNamedParameter()
4235
+ | LOOKAHEAD(2) retval =JdbcNamedParameter()
4241
4236
4242
4237
| LOOKAHEAD(3) retval=UserVariable()
4243
4238
@@ -4758,7 +4753,7 @@ IntervalExpression IntervalExpression() : {
4758
4753
{
4759
4754
4760
4755
{ interval = new IntervalExpression(); }
4761
- <K_INTERVAL> ["-" {signed=true;}] (token=<S_LONG> | token=<S_DOUBLE> | token=<S_CHAR_LITERAL> | LOOKAHEAD(SimpleJdbcParameter ()) expr = SimpleJdbcParameter () | expr = JdbcNamedParameter() | LOOKAHEAD(Function()) expr = Function() | expr = Column())
4756
+ <K_INTERVAL> ["-" {signed=true;}] (token=<S_LONG> | token=<S_DOUBLE> | token=<S_CHAR_LITERAL> | LOOKAHEAD(JdbcParameter ()) expr = JdbcParameter () | expr = JdbcNamedParameter() | LOOKAHEAD(Function()) expr = Function() | expr = Column())
4762
4757
{
4763
4758
if (expr != null) {
4764
4759
if (signed) expr = new SignedExpression('-', expr);
@@ -5099,9 +5094,9 @@ FullTextSearch FullTextSearch() : {
5099
5094
(
5100
5095
againstValue=<S_CHAR_LITERAL> { fs.setAgainstValue(new StringValue(againstValue.image)); }
5101
5096
|
5102
- jdbcParameter=SimpleJdbcParameter () { fs.setAgainstValue( jdbcParameter ); }
5097
+ jdbcParameter=JdbcParameter () { fs.setAgainstValue( jdbcParameter ); }
5103
5098
|
5104
- jdbcNamedParameter=SimpleJdbcNamedParameter () { fs.setAgainstValue( jdbcNamedParameter ); }
5099
+ jdbcNamedParameter=JdbcNamedParameter () { fs.setAgainstValue( jdbcNamedParameter ); }
5105
5100
)
5106
5101
[
5107
5102
(
0 commit comments