Skip to content

Commit 87ecb54

Browse files
committed
Change Fetch First Rendered Syntax - Always use "rows" after "offset"
1 parent a4eed6c commit 87ecb54

File tree

5 files changed

+13
-12
lines changed

5 files changed

+13
-12
lines changed

src/main/java/org/mybatis/dynamic/sql/select/render/FetchFirstPagingModelRenderer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,15 @@ private Optional<FragmentAndParameters> renderFetchFirstRowsOnly(Long fetchFirst
5858
}
5959

6060
private Optional<FragmentAndParameters> renderOffsetOnly(Long offset) {
61-
return FragmentAndParameters.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER)) //$NON-NLS-1$
61+
return FragmentAndParameters.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER) //$NON-NLS-1$
62+
+ " rows") //$NON-NLS-1$
6263
.withParameter(OFFSET_PARAMETER, offset)
6364
.buildOptional();
6465
}
6566

6667
private Optional<FragmentAndParameters> renderOffsetAndFetchFirstRows(Long offset, Long fetchFirstRows) {
6768
return FragmentAndParameters.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER) //$NON-NLS-1$
68-
+ " fetch first " + renderPlaceholder(FETCH_FIRST_ROWS_PARAMETER) //$NON-NLS-1$
69+
+ " rows fetch first " + renderPlaceholder(FETCH_FIRST_ROWS_PARAMETER) //$NON-NLS-1$
6970
+ " rows only") //$NON-NLS-1$
7071
.withParameter(OFFSET_PARAMETER, offset)
7172
.withParameter(FETCH_FIRST_ROWS_PARAMETER, fetchFirstRows)

src/test/java/examples/animal/data/FetchFirstTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void testOffsetAndFetchFirstAfterFrom() {
7979
assertAll(
8080
() -> assertThat(records.size()).isEqualTo(3),
8181
() -> assertThat(records.get(0).getId()).isEqualTo(23),
82-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset} fetch first #{parameters._fetchFirstRows} rows only"),
82+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"),
8383
() -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L),
8484
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
8585
);
@@ -125,7 +125,7 @@ public void testOffsetAndFetchFirstAfterWhere() {
125125
assertAll(
126126
() -> assertThat(records.size()).isEqualTo(3),
127127
() -> assertThat(records.get(0).getId()).isEqualTo(45),
128-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} offset #{parameters._offset} fetch first #{parameters._fetchFirstRows} rows only"),
128+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"),
129129
() -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L),
130130
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
131131
);
@@ -171,7 +171,7 @@ public void testOffsetAndFetchFirstAfterOrderBy() {
171171
assertAll(
172172
() -> assertThat(records.size()).isEqualTo(3),
173173
() -> assertThat(records.get(0).getId()).isEqualTo(23),
174-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset} fetch first #{parameters._fetchFirstRows} rows only"),
174+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"),
175175
() -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L),
176176
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
177177
);

src/test/java/examples/animal/data/LimitAndOffsetTest.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public void testOffsetOnlyAfterFrom() {
122122
assertAll(
123123
() -> assertThat(records.size()).isEqualTo(43),
124124
() -> assertThat(records.get(0).getId()).isEqualTo(23),
125-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset}"),
125+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset} rows"),
126126
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
127127
);
128128
}
@@ -191,7 +191,7 @@ public void testOffsetOnlyAfterWhere() {
191191
assertAll(
192192
() -> assertThat(records.size()).isEqualTo(27),
193193
() -> assertThat(records.get(0).getId()).isEqualTo(23),
194-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} offset #{parameters._offset}"),
194+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} offset #{parameters._offset} rows"),
195195
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
196196
);
197197
}
@@ -259,7 +259,7 @@ public void testOffsetOnlyAfterOrderBy() {
259259
assertAll(
260260
() -> assertThat(records.size()).isEqualTo(43),
261261
() -> assertThat(records.get(0).getId()).isEqualTo(23),
262-
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset}"),
262+
() -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset} rows"),
263263
() -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L)
264264
);
265265
}

src/test/java/examples/groupby/GroupByTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ public void testOffsetOnlyAfterGroupBy() {
255255
.build()
256256
.render(RenderingStrategy.MYBATIS3);
257257

258-
String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset}";
258+
String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset} rows";
259259
assertThat(selectStatement.getSelectStatement()).isEqualTo(expected);
260260

261261
List<Map<String, Object>> rows = mapper.generalSelect(selectStatement);
@@ -279,7 +279,7 @@ public void testOffsetAndFetchFirstAfterGroupBy() {
279279
.build()
280280
.render(RenderingStrategy.MYBATIS3);
281281

282-
String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset} fetch first #{parameters._fetchFirstRows} rows only";
282+
String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only";
283283
assertThat(selectStatement.getSelectStatement()).isEqualTo(expected);
284284

285285
List<Map<String, Object>> rows = mapper.generalSelect(selectStatement);

src/test/java/examples/joins/JoinMapperTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ public void testOffsetOnlyAfterJoin() {
595595

596596
String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description"
597597
+ " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id"
598-
+ " offset #{parameters._offset}";
598+
+ " offset #{parameters._offset} rows";
599599
assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment);
600600

601601
List<Map<String, Object>> rows = mapper.generalSelect(selectStatement);
@@ -630,7 +630,7 @@ public void testOffsetAndFetchFirstAfterJoin() {
630630

631631
String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description"
632632
+ " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id"
633-
+ " offset #{parameters._offset} fetch first #{parameters._fetchFirstRows} rows only";
633+
+ " offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only";
634634
assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment);
635635

636636
List<Map<String, Object>> rows = mapper.generalSelect(selectStatement);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy