@@ -1447,7 +1447,6 @@ OrderByElement OrderByElement():
14471447Limit LimitWithOffset():
14481448{
14491449 Limit limit = new Limit();
1450- limit.setRowCount(-1l);
14511450 Token token = null;
14521451}
14531452{
@@ -1456,17 +1455,21 @@ Limit LimitWithOffset():
14561455 // mysql-> LIMIT offset,row_count
14571456 <K_LIMIT>
14581457 (
1459- token=<S_LONG> { limit.setOffset(Long.parseLong (token.image)); }
1458+ token=<S_LONG> { limit.setOffset(new LongValue (token.image)); }
14601459 |
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); } ]
14621463
14631464 )
14641465 ","
14651466
14661467 (
1467- token=<S_LONG> { limit.setRowCount(Long.parseLong (token.image)); }
1468+ token=<S_LONG> { limit.setRowCount(new LongValue (token.image)); }
14681469 |
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); } ]
14701473 )
14711474 |
14721475 limit = PlainLimit()
@@ -1479,16 +1482,17 @@ Limit LimitWithOffset():
14791482Limit PlainLimit():
14801483{
14811484 Limit limit = new Limit();
1482- limit.setRowCount(-1l);
14831485 Token token = null;
14841486}
14851487{
14861488 // mysql-postgresql-> LIMIT (row_count | ALL | NULL)
14871489 <K_LIMIT>
14881490 (
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)); } ]
14901494 |
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); } ]
14921496 |
14931497 <K_ALL> { limit.setLimitAll(true);}
14941498 |
@@ -1552,7 +1556,9 @@ Top Top():
15521556 (
15531557 token=<S_LONG> { top.setExpression(new LongValue(token.image)); }
15541558 |
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); } ]
15561562 |
15571563 "("
15581564 expr=AdditiveExpression() { top.setExpression(expr); }
0 commit comments