@@ -1446,7 +1446,6 @@ OrderByElement OrderByElement():
1446
1446
Limit LimitWithOffset():
1447
1447
{
1448
1448
Limit limit = new Limit();
1449
- limit.setRowCount(-1l);
1450
1449
Token token = null;
1451
1450
}
1452
1451
{
@@ -1455,17 +1454,21 @@ Limit LimitWithOffset():
1455
1454
// mysql-> LIMIT offset,row_count
1456
1455
<K_LIMIT>
1457
1456
(
1458
- token=<S_LONG> { limit.setOffset(Long.parseLong (token.image)); }
1457
+ token=<S_LONG> { limit.setOffset(new LongValue (token.image)); }
1459
1458
|
1460
- "?" { limit.setOffsetJdbcParameter(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { limit.getOffsetJdbcParameter().setIndex(Integer.valueOf(token.image)); } ]
1459
+ "?" { limit.setOffset(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)limit.getOffset()).setIndex(Integer.valueOf(token.image)); } ]
1460
+ |
1461
+ ":" { limit.setOffset(new JdbcNamedParameter()); } [ LOOKAHEAD(2) token = <S_IDENTIFIER> { ((JdbcNamedParameter)limit.getOffset()).setName(token.image); } ]
1461
1462
1462
1463
)
1463
1464
","
1464
1465
1465
1466
(
1466
- token=<S_LONG> { limit.setRowCount(Long.parseLong (token.image)); }
1467
+ token=<S_LONG> { limit.setRowCount(new LongValue (token.image)); }
1467
1468
|
1468
- "?" { limit.setRowCountJdbcParameter(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { limit.getRowCountJdbcParameter().setIndex(Integer.valueOf(token.image)); } ]
1469
+ "?" { limit.setRowCount(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)limit.getRowCount()).setIndex(Integer.valueOf(token.image)); } ]
1470
+ |
1471
+ ":" { limit.setRowCount(new JdbcNamedParameter()); } [ LOOKAHEAD(2) token = <S_IDENTIFIER> { ((JdbcNamedParameter)limit.getRowCount()).setName(token.image); } ]
1469
1472
)
1470
1473
|
1471
1474
limit = PlainLimit()
@@ -1478,16 +1481,17 @@ Limit LimitWithOffset():
1478
1481
Limit PlainLimit():
1479
1482
{
1480
1483
Limit limit = new Limit();
1481
- limit.setRowCount(-1l);
1482
1484
Token token = null;
1483
1485
}
1484
1486
{
1485
1487
// mysql-postgresql-> LIMIT (row_count | ALL | NULL)
1486
1488
<K_LIMIT>
1487
1489
(
1488
- token=<S_LONG> { limit.setRowCount(Long.parseLong(token.image)); }
1490
+ token=<S_LONG> { limit.setRowCount(new LongValue(token.image)); }
1491
+ |
1492
+ "?" { limit.setRowCount(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)limit.getRowCount()).setIndex(Integer.valueOf(token.image)); } ]
1489
1493
|
1490
- "? " { limit.setRowCountJdbcParameter (new JdbcParameter ()); } [ LOOKAHEAD(2) token = <S_LONG > { limit.getRowCountJdbcParameter().setIndex(Integer.valueOf( token.image) ); } ]
1494
+ ": " { limit.setRowCount (new JdbcNamedParameter ()); } [ LOOKAHEAD(2) token = <S_IDENTIFIER > { ((JdbcNamedParameter) limit.getRowCount()).setName( token.image); } ]
1491
1495
|
1492
1496
<K_ALL> { limit.setLimitAll(true);}
1493
1497
|
@@ -1551,7 +1555,9 @@ Top Top():
1551
1555
(
1552
1556
token=<S_LONG> { top.setExpression(new LongValue(token.image)); }
1553
1557
|
1554
- "?" { top.setExpression(new JdbcParameter()); }
1558
+ "?" { top.setExpression(new JdbcParameter()); } [ LOOKAHEAD(2) token = <S_LONG> { ((JdbcParameter)(top.getExpression())).setIndex(Integer.valueOf(token.image)); } ]
1559
+ |
1560
+ ":" { top.setExpression(new JdbcNamedParameter()); } [ LOOKAHEAD(2) token = <S_IDENTIFIER> { ((JdbcNamedParameter)top.getExpression()).setName(token.image); } ]
1555
1561
|
1556
1562
"("
1557
1563
expr=AdditiveExpression() { top.setExpression(expr); }
0 commit comments