@@ -25,6 +25,18 @@ public void testOffsetLimit() {
2525 assertEquals (expected , sql .getRawSql ());
2626 }
2727
28+ @ Test
29+ public void testOffsetLimit_semicolon () {
30+ String expected = "select * from emp order by emp.id limit 10 offset 5;" ;
31+ H2PagingTransformer transformer = new H2PagingTransformer (5 , 10 );
32+ SqlParser parser = new SqlParser ("select * from emp order by emp.id;" );
33+ SqlNode sqlNode = transformer .transform (parser .parse ());
34+ NodePreparedSqlBuilder sqlBuilder =
35+ new NodePreparedSqlBuilder (new MockConfig (), SqlKind .SELECT , "dummyPath" );
36+ PreparedSql sql = sqlBuilder .build (sqlNode , Function .identity ());
37+ assertEquals (expected , sql .getRawSql ());
38+ }
39+
2840 @ Test
2941 public void testOffsetLimit_forUpdate () {
3042 String expected = "select * from emp order by emp.id limit 10 offset 5 for update" ;
@@ -37,6 +49,18 @@ public void testOffsetLimit_forUpdate() {
3749 assertEquals (expected , sql .getRawSql ());
3850 }
3951
52+ @ Test
53+ public void testOffsetLimit_forUpdate_semicolon () {
54+ String expected = "select * from emp order by emp.id limit 10 offset 5 for update;" ;
55+ H2PagingTransformer transformer = new H2PagingTransformer (5 , 10 );
56+ SqlParser parser = new SqlParser ("select * from emp order by emp.id for update;" );
57+ SqlNode sqlNode = transformer .transform (parser .parse ());
58+ NodePreparedSqlBuilder sqlBuilder =
59+ new NodePreparedSqlBuilder (new MockConfig (), SqlKind .SELECT , "dummyPath" );
60+ PreparedSql sql = sqlBuilder .build (sqlNode , Function .identity ());
61+ assertEquals (expected , sql .getRawSql ());
62+ }
63+
4064 @ Test
4165 public void testOffsetOnly () {
4266 String expected = "select * from emp order by emp.id limit -1 offset 5" ;
0 commit comments