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