@@ -376,6 +376,16 @@ public void testLimit3() throws JSQLParserException {
376376 assertNotNull (((JdbcParameter )rowCount ).getIndex ());
377377 assertFalse (((JdbcParameter )rowCount ).isUseFixedIndex ());
378378 assertFalse (((PlainSelect ) select .getSelectBody ()).getLimit ().isLimitAll ());
379+
380+ statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT ?1" ;
381+ select = (Select ) parserManager .parse (new StringReader (statement ));
382+
383+ offset = ((PlainSelect ) select .getSelectBody ()).getLimit ().getOffset ();
384+ rowCount = ((PlainSelect ) select .getSelectBody ()).getLimit ().getRowCount ();
385+
386+ assertNull (offset );
387+ assertEquals (1 , ((JdbcParameter )rowCount ).getIndex ().intValue ());
388+ assertFalse (((PlainSelect ) select .getSelectBody ()).getLimit ().isLimitAll ());
379389 }
380390
381391 public void testLimit4 () throws JSQLParserException {
@@ -421,6 +431,14 @@ public void testLimit4() throws JSQLParserException {
421431 assertEquals (1 , (int )(((JdbcParameter )rowCount ).getIndex ()));
422432 assertEquals ("name1" , (((JdbcNamedParameter )offset ).getName ()));
423433 assertFalse (((PlainSelect ) select .getSelectBody ()).getLimit ().isLimitAll ());
434+
435+ statement = "SELECT * FROM mytable WHERE mytable.col = 9 LIMIT :param_name" ;
436+ select = (Select ) parserManager .parse (new StringReader (statement ));
437+ offset = ((PlainSelect ) select .getSelectBody ()).getLimit ().getOffset ();
438+ rowCount = ((PlainSelect ) select .getSelectBody ()).getLimit ().getRowCount ();
439+ assertNull (offset );
440+ assertEquals ("param_name" , (((JdbcNamedParameter )rowCount ).getName ()));
441+ assertFalse (((PlainSelect ) select .getSelectBody ()).getLimit ().isLimitAll ());
424442 }
425443
426444 public void testLimitSqlServer1 () throws JSQLParserException {
0 commit comments