@@ -37,7 +37,7 @@ void shouldRenderSingleColumn() {
37
37
Table bar = SQL .table ("bar" );
38
38
Column foo = bar .column ("foo" );
39
39
40
- Select select = Select .builder ().select (foo ).from (bar ).limitOffset ( 1 , 2 ). build ();
40
+ Select select = Select .builder ().select (foo ).from (bar ).build ();
41
41
42
42
assertThat (SqlRenderer .toString (select )).isEqualTo ("SELECT bar.foo FROM bar" );
43
43
}
@@ -480,6 +480,65 @@ void shouldRenderCast() {
480
480
assertThat (rendered ).isEqualTo ("SELECT CAST(User.name AS VARCHAR2) FROM User" );
481
481
}
482
482
483
+ @ Test // GH-1076
484
+ void rendersLimitAndOffset () {
485
+
486
+ Table table_user = SQL .table ("User" );
487
+ Select select = StatementBuilder .select (table_user .column ("name" )).from (table_user ).limitOffset (10 , 5 ).build ();
488
+
489
+ final String rendered = SqlRenderer .toString (select );
490
+ assertThat (rendered ).isEqualTo ("SELECT User.name FROM User OFFSET 5 ROWS FETCH FIRST 10 ROWS ONLY" );
491
+ }
492
+
493
+ @ Test // GH-1076
494
+ void rendersLimit () {
495
+
496
+ Table table_user = SQL .table ("User" );
497
+ Select select = StatementBuilder .select (table_user .column ("name" )).from (table_user ) //
498
+ .limit (3 ) //
499
+ .build ();
500
+
501
+ final String rendered = SqlRenderer .toString (select );
502
+ assertThat (rendered ).isEqualTo ("SELECT User.name FROM User FETCH FIRST 3 ROWS ONLY" );
503
+ }
504
+
505
+ @ Test // GH-1076
506
+ void rendersLock () {
507
+
508
+ Table table_user = SQL .table ("User" );
509
+ Select select = StatementBuilder .select (table_user .column ("name" )).from (table_user ) //
510
+ .lock (LockMode .PESSIMISTIC_READ ) //
511
+ .build ();
512
+
513
+ final String rendered = SqlRenderer .toString (select );
514
+ assertThat (rendered ).isEqualTo ("SELECT User.name FROM User FOR UPDATE" );
515
+ }
516
+
517
+ @ Test // GH-1076
518
+ void rendersLockAndOffset () {
519
+
520
+ Table table_user = SQL .table ("User" );
521
+ Select select = StatementBuilder .select (table_user .column ("name" )).from (table_user ).offset (3 ) //
522
+ .lock (LockMode .PESSIMISTIC_WRITE ) //
523
+ .build ();
524
+
525
+ final String rendered = SqlRenderer .toString (select );
526
+ assertThat (rendered ).isEqualTo ("SELECT User.name FROM User FOR UPDATE OFFSET 3 ROWS" );
527
+ }
528
+
529
+ @ Test // GH-1076
530
+ void rendersLockAndOffsetUsingDialect () {
531
+
532
+ Table table_user = SQL .table ("User" );
533
+ Select select = StatementBuilder .select (table_user .column ("name" )).from (table_user ).limitOffset (3 , 6 ) //
534
+ .lock (LockMode .PESSIMISTIC_WRITE ) //
535
+ .build ();
536
+
537
+ String rendered = SqlRenderer .create (new RenderContextFactory (PostgresDialect .INSTANCE ).createRenderContext ())
538
+ .render (select );
539
+ assertThat (rendered ).isEqualTo ("SELECT User.name FROM User LIMIT 3 OFFSET 6 FOR UPDATE OF User" );
540
+ }
541
+
483
542
@ Test // GH-1007
484
543
void shouldRenderConditionAsExpression () {
485
544
0 commit comments