diff --git a/src/main/java/org/mybatis/dynamic/sql/select/render/FetchFirstPagingModelRenderer.java b/src/main/java/org/mybatis/dynamic/sql/select/render/FetchFirstPagingModelRenderer.java index 5d7eaf285..ab300d16f 100644 --- a/src/main/java/org/mybatis/dynamic/sql/select/render/FetchFirstPagingModelRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/select/render/FetchFirstPagingModelRenderer.java @@ -1,21 +1,22 @@ /** - * Copyright 2016-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2016-2019 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.mybatis.dynamic.sql.select.render; import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; import org.mybatis.dynamic.sql.render.RenderingStrategy; import org.mybatis.dynamic.sql.select.PagingModel; @@ -26,13 +27,15 @@ public class FetchFirstPagingModelRenderer { private static final String OFFSET_PARAMETER = "_offset"; //$NON-NLS-1$ private RenderingStrategy renderingStrategy; private PagingModel pagingModel; + private AtomicInteger sequence; public FetchFirstPagingModelRenderer(RenderingStrategy renderingStrategy, - PagingModel pagingModel) { + PagingModel pagingModel, AtomicInteger sequence) { this.renderingStrategy = renderingStrategy; this.pagingModel = pagingModel; + this.sequence = sequence; } - + public Optional render() { return pagingModel.offset() .map(this::renderWithOffset) @@ -44,37 +47,45 @@ private Optional renderWithOffset(Long offset) { .map(ffr -> renderOffsetAndFetchFirstRows(offset, ffr)) .orElseGet(() -> renderOffsetOnly(offset)); } - + private Optional renderFetchFirstRowsOnly() { return pagingModel.fetchFirstRows().flatMap(this::renderFetchFirstRowsOnly); } - + private Optional renderFetchFirstRowsOnly(Long fetchFirstRows) { + String mapKey = formatParameterMapKey(FETCH_FIRST_ROWS_PARAMETER); return FragmentAndParameters - .withFragment("fetch first " + renderPlaceholder(FETCH_FIRST_ROWS_PARAMETER) //$NON-NLS-1$ - + " rows only") //$NON-NLS-1$ - .withParameter(FETCH_FIRST_ROWS_PARAMETER, fetchFirstRows) + .withFragment("fetch first " + renderPlaceholder(mapKey) //$NON-NLS-1$ + + " rows only") //$NON-NLS-1$ + .withParameter(mapKey, fetchFirstRows) .buildOptional(); } - + private Optional renderOffsetOnly(Long offset) { - return FragmentAndParameters.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER) //$NON-NLS-1$ - + " rows") //$NON-NLS-1$ - .withParameter(OFFSET_PARAMETER, offset) + String mapKey = formatParameterMapKey(OFFSET_PARAMETER); + return FragmentAndParameters.withFragment("offset " + renderPlaceholder(mapKey) //$NON-NLS-1$ + + " rows") //$NON-NLS-1$ + .withParameter(mapKey, offset) .buildOptional(); } - + private Optional renderOffsetAndFetchFirstRows(Long offset, Long fetchFirstRows) { - return FragmentAndParameters.withFragment("offset " + renderPlaceholder(OFFSET_PARAMETER) //$NON-NLS-1$ - + " rows fetch first " + renderPlaceholder(FETCH_FIRST_ROWS_PARAMETER) //$NON-NLS-1$ - + " rows only") //$NON-NLS-1$ - .withParameter(OFFSET_PARAMETER, offset) - .withParameter(FETCH_FIRST_ROWS_PARAMETER, fetchFirstRows) + String mapKey1 = formatParameterMapKey(OFFSET_PARAMETER); + String mapKey2 = formatParameterMapKey(FETCH_FIRST_ROWS_PARAMETER); + return FragmentAndParameters.withFragment("offset " + renderPlaceholder(mapKey1) //$NON-NLS-1$ + + " rows fetch first " + renderPlaceholder(mapKey2) //$NON-NLS-1$ + + " rows only") //$NON-NLS-1$ + .withParameter(mapKey1, offset) + .withParameter(mapKey2, fetchFirstRows) .buildOptional(); } - + + private String formatParameterMapKey(String parameterMapKey) { + return parameterMapKey + sequence.getAndIncrement(); //$NON-NLS-1$ + } + private String renderPlaceholder(String parameterName) { return renderingStrategy.getFormattedJdbcPlaceholder(RenderingStrategy.DEFAULT_PARAMETER_PREFIX, - parameterName); + parameterName); } } diff --git a/src/main/java/org/mybatis/dynamic/sql/select/render/LimitAndOffsetPagingModelRenderer.java b/src/main/java/org/mybatis/dynamic/sql/select/render/LimitAndOffsetPagingModelRenderer.java index a46a8e2ac..6ed0a3331 100644 --- a/src/main/java/org/mybatis/dynamic/sql/select/render/LimitAndOffsetPagingModelRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/select/render/LimitAndOffsetPagingModelRenderer.java @@ -1,21 +1,22 @@ /** - * Copyright 2016-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2016-2019 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.mybatis.dynamic.sql.select.render; import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; import org.mybatis.dynamic.sql.render.RenderingStrategy; import org.mybatis.dynamic.sql.select.PagingModel; @@ -27,35 +28,44 @@ public class LimitAndOffsetPagingModelRenderer { private RenderingStrategy renderingStrategy; private Long limit; private PagingModel pagingModel; + private AtomicInteger sequence; public LimitAndOffsetPagingModelRenderer(RenderingStrategy renderingStrategy, - Long limit, PagingModel pagingModel) { + Long limit, PagingModel pagingModel, AtomicInteger sequence) { this.renderingStrategy = renderingStrategy; this.limit = limit; this.pagingModel = pagingModel; + this.sequence = sequence; } - + public Optional render() { return pagingModel.offset().map(this::renderLimitAndOffset) .orElseGet(this::renderLimitOnly); } private Optional renderLimitOnly() { - return FragmentAndParameters.withFragment("limit " + renderPlaceholder(LIMIT_PARAMETER)) //$NON-NLS-1$ - .withParameter(LIMIT_PARAMETER, limit) + String mapKey = formatParameterMapKey(LIMIT_PARAMETER); + return FragmentAndParameters.withFragment("limit " + renderPlaceholder(mapKey)) //$NON-NLS-1$ + .withParameter(mapKey, limit) .buildOptional(); } - + private Optional renderLimitAndOffset(Long offset) { - return FragmentAndParameters.withFragment("limit " + renderPlaceholder(LIMIT_PARAMETER) //$NON-NLS-1$ - + " offset " + renderPlaceholder(OFFSET_PARAMETER)) //$NON-NLS-1$ - .withParameter(LIMIT_PARAMETER, limit) - .withParameter(OFFSET_PARAMETER, offset) + String mapKey1 = formatParameterMapKey(LIMIT_PARAMETER); + String mapKey2 = formatParameterMapKey(OFFSET_PARAMETER); + return FragmentAndParameters.withFragment("limit " + renderPlaceholder(mapKey1) //$NON-NLS-1$ + + " offset " + renderPlaceholder(mapKey2)) //$NON-NLS-1$ + .withParameter(mapKey1, limit) + .withParameter(mapKey2, offset) .buildOptional(); } - + + private String formatParameterMapKey(String parameterMapKey) { + return parameterMapKey + sequence.getAndIncrement(); //$NON-NLS-1$ + } + private String renderPlaceholder(String parameterName) { return renderingStrategy.getFormattedJdbcPlaceholder(RenderingStrategy.DEFAULT_PARAMETER_PREFIX, - parameterName); + parameterName); } } diff --git a/src/main/java/org/mybatis/dynamic/sql/select/render/PagingModelRenderer.java b/src/main/java/org/mybatis/dynamic/sql/select/render/PagingModelRenderer.java index 7161d5742..65df4b7fc 100644 --- a/src/main/java/org/mybatis/dynamic/sql/select/render/PagingModelRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/select/render/PagingModelRenderer.java @@ -1,22 +1,23 @@ /** - * Copyright 2016-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2016-2019 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.mybatis.dynamic.sql.select.render; import java.util.Objects; import java.util.Optional; +import java.util.concurrent.atomic.AtomicInteger; import org.mybatis.dynamic.sql.render.RenderingStrategy; import org.mybatis.dynamic.sql.select.PagingModel; @@ -25,30 +26,33 @@ public class PagingModelRenderer { private RenderingStrategy renderingStrategy; private PagingModel pagingModel; + private AtomicInteger sequence; private PagingModelRenderer(Builder builder) { renderingStrategy = Objects.requireNonNull(builder.renderingStrategy); pagingModel = Objects.requireNonNull(builder.pagingModel); + sequence = Objects.requireNonNull(builder.sequence); } - + public Optional render() { return pagingModel.limit().map(this::limitAndOffsetRender) .orElseGet(this::fetchFirstRender); } - + private Optional limitAndOffsetRender(Long limit) { return new LimitAndOffsetPagingModelRenderer(renderingStrategy, limit, - pagingModel).render(); + pagingModel, sequence).render(); } - + private Optional fetchFirstRender() { - return new FetchFirstPagingModelRenderer(renderingStrategy, pagingModel).render(); + return new FetchFirstPagingModelRenderer(renderingStrategy, pagingModel, sequence).render(); } - + public static class Builder { private RenderingStrategy renderingStrategy; private PagingModel pagingModel; - + private AtomicInteger sequence; + public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) { this.renderingStrategy = renderingStrategy; return this; @@ -58,7 +62,12 @@ public Builder withPagingModel(PagingModel pagingModel) { this.pagingModel = pagingModel; return this; } - + + public Builder withSequence(AtomicInteger sequence) { + this.sequence = sequence; + return this; + } + public PagingModelRenderer build() { return new PagingModelRenderer(this); } diff --git a/src/main/java/org/mybatis/dynamic/sql/select/render/SelectRenderer.java b/src/main/java/org/mybatis/dynamic/sql/select/render/SelectRenderer.java index 0a54fdfcf..b65318897 100644 --- a/src/main/java/org/mybatis/dynamic/sql/select/render/SelectRenderer.java +++ b/src/main/java/org/mybatis/dynamic/sql/select/render/SelectRenderer.java @@ -1,17 +1,17 @@ /** - * Copyright 2016-2019 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2016-2019 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package org.mybatis.dynamic.sql.select.render; @@ -34,22 +34,22 @@ public class SelectRenderer { private SelectModel selectModel; private RenderingStrategy renderingStrategy; private AtomicInteger sequence; - + private SelectRenderer(Builder builder) { selectModel = Objects.requireNonNull(builder.selectModel); renderingStrategy = Objects.requireNonNull(builder.renderingStrategy); sequence = builder.sequence().orElseGet(() -> new AtomicInteger(1)); } - + public SelectStatementProvider render() { FragmentCollector fragmentCollector = selectModel .mapQueryExpressions(this::renderQueryExpression) .collect(FragmentCollector.collect()); renderOrderBy(fragmentCollector); renderPagingModel(fragmentCollector); - + String selectStatement = fragmentCollector.fragments().collect(Collectors.joining(" ")); //$NON-NLS-1$ - + return DefaultSelectStatementProvider.withSelectStatement(selectStatement) .withParameters(fragmentCollector.parameters()) .build(); @@ -66,13 +66,13 @@ private FragmentAndParameters renderQueryExpression(QueryExpressionModel queryEx private void renderOrderBy(FragmentCollector fragmentCollector) { selectModel.orderByModel().ifPresent(om -> renderOrderBy(fragmentCollector, om)); } - + private void renderOrderBy(FragmentCollector fragmentCollector, OrderByModel orderByModel) { String phrase = orderByModel.mapColumns(this::calculateOrderByPhrase) .collect(CustomCollectors.joining(", ", "order by ", "")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ fragmentCollector.add(FragmentAndParameters.withFragment(phrase).build()); } - + private String calculateOrderByPhrase(SortSpecification column) { String phrase = column.aliasOrName(); if (column.isDescending()) { @@ -80,16 +80,17 @@ private String calculateOrderByPhrase(SortSpecification column) { } return phrase; } - + private void renderPagingModel(FragmentCollector fragmentCollector) { selectModel.pagingModel().flatMap(this::renderPagingModel) - .ifPresent(fragmentCollector::add); + .ifPresent(fragmentCollector::add); } - + private Optional renderPagingModel(PagingModel pagingModel) { return new PagingModelRenderer.Builder() .withPagingModel(pagingModel) .withRenderingStrategy(renderingStrategy) + .withSequence(sequence) .build() .render(); } @@ -97,31 +98,31 @@ private Optional renderPagingModel(PagingModel pagingMode public static Builder withSelectModel(SelectModel selectModel) { return new Builder().withSelectModel(selectModel); } - + public static class Builder { private SelectModel selectModel; private RenderingStrategy renderingStrategy; private AtomicInteger sequence; - + public Builder withSelectModel(SelectModel selectModel) { this.selectModel = selectModel; return this; } - + public Builder withRenderingStrategy(RenderingStrategy renderingStrategy) { this.renderingStrategy = renderingStrategy; return this; } - + public Builder withSequence(AtomicInteger sequence) { this.sequence = sequence; return this; } - + private Optional sequence() { return Optional.ofNullable(sequence); } - + public SelectRenderer build() { return new SelectRenderer(this); } diff --git a/src/test/java/examples/animal/data/FetchFirstTest.java b/src/test/java/examples/animal/data/FetchFirstTest.java index 9ac7ee84d..9d3b4a791 100644 --- a/src/test/java/examples/animal/data/FetchFirstTest.java +++ b/src/test/java/examples/animal/data/FetchFirstTest.java @@ -79,9 +79,9 @@ public void testOffsetAndFetchFirstAfterFrom() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset1} rows fetch first #{parameters._fetchFirstRows2} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset1")).isEqualTo(22L) ); } } @@ -101,8 +101,8 @@ public void testFetchFirstOnlyAfterFrom() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData fetch first #{parameters._fetchFirstRows} rows only"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData fetch first #{parameters._fetchFirstRows1} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows1")).isEqualTo(3L) ); } } @@ -125,9 +125,9 @@ public void testOffsetAndFetchFirstAfterWhere() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(45), - () -> 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"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} offset #{parameters._offset3} rows fetch first #{parameters._fetchFirstRows4} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows4")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset3")).isEqualTo(22L) ); } } @@ -148,8 +148,8 @@ public void testFetchFirstOnlyAfterWhere() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} fetch first #{parameters._fetchFirstRows} rows only"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} fetch first #{parameters._fetchFirstRows2} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(3L) ); } } @@ -171,9 +171,9 @@ public void testOffsetAndFetchFirstAfterOrderBy() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset1} rows fetch first #{parameters._fetchFirstRows2} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset1")).isEqualTo(22L) ); } } @@ -194,8 +194,8 @@ public void testLimitOnlyAfterOrderBy() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id fetch first #{parameters._fetchFirstRows} rows only"), - () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id fetch first #{parameters._fetchFirstRows1} rows only"), + () -> assertThat(selectStatement.getParameters().get("_fetchFirstRows1")).isEqualTo(3L) ); } } diff --git a/src/test/java/examples/animal/data/LimitAndOffsetTest.java b/src/test/java/examples/animal/data/LimitAndOffsetTest.java index 1251c2a09..e1896ffc9 100644 --- a/src/test/java/examples/animal/data/LimitAndOffsetTest.java +++ b/src/test/java/examples/animal/data/LimitAndOffsetTest.java @@ -79,9 +79,9 @@ public void testLimitAndOffsetAfterFrom() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData limit #{parameters._limit} offset #{parameters._offset}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData limit #{parameters._limit1} offset #{parameters._offset2}"), + () -> assertThat(selectStatement.getParameters().get("_limit1")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset2")).isEqualTo(22L) ); } } @@ -101,8 +101,8 @@ public void testLimitOnlyAfterFrom() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData limit #{parameters._limit}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData limit #{parameters._limit1}"), + () -> assertThat(selectStatement.getParameters().get("_limit1")).isEqualTo(3L) ); } } @@ -122,8 +122,8 @@ public void testOffsetOnlyAfterFrom() { assertAll( () -> assertThat(records.size()).isEqualTo(43), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset} rows"), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData offset #{parameters._offset1} rows"), + () -> assertThat(selectStatement.getParameters().get("_offset1")).isEqualTo(22L) ); } } @@ -146,9 +146,9 @@ public void testLimitAndOffsetAfterWhere() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(45), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} limit #{parameters._limit} offset #{parameters._offset}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} and id > #{parameters.p2,jdbcType=INTEGER} limit #{parameters._limit3} offset #{parameters._offset4}"), + () -> assertThat(selectStatement.getParameters().get("_limit3")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset4")).isEqualTo(22L) ); } } @@ -169,8 +169,8 @@ public void testLimitOnlyAfterWhere() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} limit #{parameters._limit}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} limit #{parameters._limit2}"), + () -> assertThat(selectStatement.getParameters().get("_limit2")).isEqualTo(3L) ); } } @@ -191,8 +191,8 @@ public void testOffsetOnlyAfterWhere() { assertAll( () -> assertThat(records.size()).isEqualTo(27), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} offset #{parameters._offset} rows"), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData where id < #{parameters.p1,jdbcType=INTEGER} offset #{parameters._offset2} rows"), + () -> assertThat(selectStatement.getParameters().get("_offset2")).isEqualTo(22L) ); } } @@ -214,9 +214,9 @@ public void testLimitAndOffsetAfterOrderBy() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id limit #{parameters._limit} offset #{parameters._offset}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id limit #{parameters._limit1} offset #{parameters._offset2}"), + () -> assertThat(selectStatement.getParameters().get("_limit1")).isEqualTo(3L), + () -> assertThat(selectStatement.getParameters().get("_offset2")).isEqualTo(22L) ); } } @@ -237,8 +237,8 @@ public void testLimitOnlyAfterOrderBy() { assertAll( () -> assertThat(records.size()).isEqualTo(3), () -> assertThat(records.get(0).getId()).isEqualTo(1), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id limit #{parameters._limit}"), - () -> assertThat(selectStatement.getParameters().get("_limit")).isEqualTo(3L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id limit #{parameters._limit1}"), + () -> assertThat(selectStatement.getParameters().get("_limit1")).isEqualTo(3L) ); } } @@ -259,8 +259,8 @@ public void testOffsetOnlyAfterOrderBy() { assertAll( () -> assertThat(records.size()).isEqualTo(43), () -> assertThat(records.get(0).getId()).isEqualTo(23), - () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset} rows"), - () -> assertThat(selectStatement.getParameters().get("_offset")).isEqualTo(22L) + () -> assertThat(selectStatement.getSelectStatement()).isEqualTo("select * from AnimalData order by id offset #{parameters._offset1} rows"), + () -> assertThat(selectStatement.getParameters().get("_offset1")).isEqualTo(22L) ); } } diff --git a/src/test/java/examples/complexquery/ComplexQueryTest.java b/src/test/java/examples/complexquery/ComplexQueryTest.java index d159a686d..4bcd9748d 100644 --- a/src/test/java/examples/complexquery/ComplexQueryTest.java +++ b/src/test/java/examples/complexquery/ComplexQueryTest.java @@ -40,11 +40,11 @@ public void testId() { + " from Person" + " where person_id = #{parameters.p1}" + " order by last_name, first_name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); assertThat(selectStatement.getParameters().get("p1")).isEqualTo(2); - assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(50L); + assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(50L); } @Test @@ -55,11 +55,11 @@ public void testFirstNameOnly() { + " from Person" + " where first_name like #{parameters.p1}" + " order by last_name, first_name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); assertThat(selectStatement.getParameters().get("p1")).isEqualTo("%fred%"); - assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(50L); + assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(50L); } @Test @@ -70,11 +70,11 @@ public void testLastNameOnly() { + " from Person" + " where last_name like #{parameters.p1}" + " order by last_name, first_name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); assertThat(selectStatement.getParameters().get("p1")).isEqualTo("%flintstone%"); - assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(50L); + assertThat(selectStatement.getParameters().get("_fetchFirstRows2")).isEqualTo(50L); } @Test @@ -86,12 +86,12 @@ public void testBothNames() { + " where first_name like #{parameters.p1}" + " and last_name like #{parameters.p2}" + " order by last_name, first_name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows3} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); assertThat(selectStatement.getParameters().get("p1")).isEqualTo("%fred%"); assertThat(selectStatement.getParameters().get("p2")).isEqualTo("%flintstone%"); - assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(50L); + assertThat(selectStatement.getParameters().get("_fetchFirstRows3")).isEqualTo(50L); } @Test @@ -101,10 +101,10 @@ public void testAllNull() { String expected = "select person_id, first_name, last_name" + " from Person" + " order by last_name, first_name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows1} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); - assertThat(selectStatement.getParameters().get("_fetchFirstRows")).isEqualTo(50L); + assertThat(selectStatement.getParameters().get("_fetchFirstRows1")).isEqualTo(50L); } public SelectStatementProvider search(Integer targetId, String fName, String lName) { diff --git a/src/test/java/examples/groupby/GroupByTest.java b/src/test/java/examples/groupby/GroupByTest.java index 08c51f685..c41231c6c 100644 --- a/src/test/java/examples/groupby/GroupByTest.java +++ b/src/test/java/examples/groupby/GroupByTest.java @@ -401,7 +401,7 @@ public void testLimitAndOffsetAfterGroupBy() { .build() .render(RenderingStrategies.MYBATIS3); - String expected = "select last_name, count(*) as count from Person group by last_name limit #{parameters._limit} offset #{parameters._offset}"; + String expected = "select last_name, count(*) as count from Person group by last_name limit #{parameters._limit1} offset #{parameters._offset2}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); List> rows = mapper.generalSelect(selectStatement); @@ -424,7 +424,7 @@ public void testLimitOnlyAfterGroupBy() { .build() .render(RenderingStrategies.MYBATIS3); - String expected = "select last_name, count(*) as count from Person group by last_name limit #{parameters._limit}"; + String expected = "select last_name, count(*) as count from Person group by last_name limit #{parameters._limit1}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); List> rows = mapper.generalSelect(selectStatement); @@ -447,7 +447,7 @@ public void testOffsetOnlyAfterGroupBy() { .build() .render(RenderingStrategies.MYBATIS3); - String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset} rows"; + String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset1} rows"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); List> rows = mapper.generalSelect(selectStatement); @@ -471,7 +471,7 @@ public void testOffsetAndFetchFirstAfterGroupBy() { .build() .render(RenderingStrategies.MYBATIS3); - String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"; + String expected = "select last_name, count(*) as count from Person group by last_name offset #{parameters._offset1} rows fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); List> rows = mapper.generalSelect(selectStatement); @@ -494,7 +494,7 @@ public void testFetchFirstOnlyAfterGroupBy() { .build() .render(RenderingStrategies.MYBATIS3); - String expected = "select last_name, count(*) as count from Person group by last_name fetch first #{parameters._fetchFirstRows} rows only"; + String expected = "select last_name, count(*) as count from Person group by last_name fetch first #{parameters._fetchFirstRows1} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); List> rows = mapper.generalSelect(selectStatement); diff --git a/src/test/java/examples/joins/JoinMapperTest.java b/src/test/java/examples/joins/JoinMapperTest.java index 7038d6be2..4159a5584 100644 --- a/src/test/java/examples/joins/JoinMapperTest.java +++ b/src/test/java/examples/joins/JoinMapperTest.java @@ -845,7 +845,7 @@ public void testLimitAndOffsetAfterJoin() { String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description" + " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id" - + " limit #{parameters._limit} offset #{parameters._offset}"; + + " limit #{parameters._limit1} offset #{parameters._offset2}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment); List> rows = mapper.generalSelect(selectStatement); @@ -879,9 +879,9 @@ public void testLimitOnlyAfterJoin() { String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description" + " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit1}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment); - + List> rows = mapper.generalSelect(selectStatement); assertThat(rows.size()).isEqualTo(2); @@ -913,7 +913,7 @@ public void testOffsetOnlyAfterJoin() { String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description" + " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment); List> rows = mapper.generalSelect(selectStatement); @@ -948,7 +948,7 @@ public void testOffsetAndFetchFirstAfterJoin() { String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description" + " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id" - + " offset #{parameters._offset} rows fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset1} rows fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment); List> rows = mapper.generalSelect(selectStatement); @@ -982,7 +982,7 @@ public void testFetchFirstOnlyAfterJoin() { String expectedStatment = "select ol.order_id, ol.quantity, im.item_id, im.description" + " from ItemMaster im left join OrderLine ol on ol.item_id = im.item_id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows1} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expectedStatment); List> rows = mapper.generalSelect(selectStatement); diff --git a/src/test/java/issues/gh100/FromGroupByTest.java b/src/test/java/issues/gh100/FromGroupByTest.java index 5c5b2b32b..e802e8cf9 100644 --- a/src/test/java/issues/gh100/FromGroupByTest.java +++ b/src/test/java/issues/gh100/FromGroupByTest.java @@ -71,7 +71,7 @@ public void testFromGroupByLimitB1() { String expected = "select name, count(*)" + " from student" + " group by name" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit1}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -90,7 +90,7 @@ public void testFromGroupByLimitB2() { String expected = "select name, count(*)" + " from student" + " group by name" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit1}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -109,7 +109,7 @@ public void testFromGroupByLimitB3() { String expected = "select name, count(*)" + " from student" + " group by name" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit1}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -128,7 +128,7 @@ public void testFromGroupByOffsetB1() { String expected = "select name, count(*)" + " from student" + " group by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -147,7 +147,7 @@ public void testFromGroupByOffsetB2() { String expected = "select name, count(*)" + " from student" + " group by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -166,7 +166,7 @@ public void testFromGroupByOffsetB3() { String expected = "select name, count(*)" + " from student" + " group by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -185,7 +185,7 @@ public void testFromGroupByFetchFirstB1() { String expected = "select name, count(*)" + " from student" + " group by name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows1} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -204,7 +204,7 @@ public void testFromGroupByFetchFirstB2() { String expected = "select name, count(*)" + " from student" + " group by name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows1} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -223,7 +223,7 @@ public void testFromGroupByFetchFirstB3() { String expected = "select name, count(*)" + " from student" + " group by name" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows1} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -302,7 +302,7 @@ public void testFromGroupByOrderByOffsetB1() { + " from student" + " group by name" + " order by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -324,7 +324,7 @@ public void testFromGroupByOrderByOffsetB2() { + " from student" + " group by name" + " order by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -346,7 +346,7 @@ public void testFromGroupByOrderByOffsetB3() { + " from student" + " group by name" + " order by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -368,7 +368,7 @@ public void testFromGroupByOrderByOffsetB4() { + " from student" + " group by name" + " order by name" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset1} rows"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); diff --git a/src/test/java/issues/gh100/FromJoinWhereTest.java b/src/test/java/issues/gh100/FromJoinWhereTest.java index 1a9a98930..23280ae0b 100644 --- a/src/test/java/issues/gh100/FromJoinWhereTest.java +++ b/src/test/java/issues/gh100/FromJoinWhereTest.java @@ -51,8 +51,8 @@ public void testNormalUsage() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -638,7 +638,7 @@ public void testFromJoinWhereUnionOrderByLimitB1() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -671,7 +671,7 @@ public void testFromJoinWhereUnionOrderByLimitB2() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -704,7 +704,7 @@ public void testFromJoinWhereUnionOrderByLimitB3() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -737,7 +737,7 @@ public void testFromJoinWhereUnionOrderByLimitB4() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -770,7 +770,7 @@ public void testFromJoinWhereUnionOrderByLimitB5() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -803,7 +803,7 @@ public void testFromJoinWhereUnionOrderByLimitB6() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -838,8 +838,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB1() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -874,8 +874,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB2() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -910,8 +910,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB3() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -946,8 +946,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB4() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -982,8 +982,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB5() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -1018,8 +1018,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB6() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -1054,8 +1054,8 @@ public void testFromJoinWhereUnionOrderByLimitOffsetB7() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder7.build().render(RenderingStrategies.MYBATIS3); @@ -1088,7 +1088,7 @@ public void testFromJoinWhereUnionOrderByOffsetB1() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -1122,7 +1122,7 @@ public void testFromJoinWhereUnionOrderByOffsetB2() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -1156,7 +1156,7 @@ public void testFromJoinWhereUnionOrderByOffsetB3() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -1190,7 +1190,7 @@ public void testFromJoinWhereUnionOrderByOffsetB4() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -1224,7 +1224,7 @@ public void testFromJoinWhereUnionOrderByOffsetB5() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -1258,7 +1258,7 @@ public void testFromJoinWhereUnionOrderByOffsetB6() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -1294,8 +1294,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB1() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -1330,8 +1330,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB2() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -1366,8 +1366,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB3() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -1402,8 +1402,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB4() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -1438,8 +1438,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB5() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -1474,8 +1474,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB6() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -1510,8 +1510,8 @@ public void testFromJoinWhereUnionOrderByOffsetFetchFirstB7() { + " select id, name, idcard" + " from student" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder7.build().render(RenderingStrategies.MYBATIS3); @@ -1544,7 +1544,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB1() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -1577,7 +1577,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB2() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -1610,7 +1610,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB3() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -1643,7 +1643,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB4() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -1676,7 +1676,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB5() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -1709,7 +1709,7 @@ public void testFromJoinWhereUnionOrderByFetchFirstB6() { + " select id, name, idcard" + " from student" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -1739,7 +1739,7 @@ public void testFromJoinWhereUnionLimitB1() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -1769,7 +1769,7 @@ public void testFromJoinWhereUnionLimitB2() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -1799,7 +1799,7 @@ public void testFromJoinWhereUnionLimitB3() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -1829,7 +1829,7 @@ public void testFromJoinWhereUnionLimitB4() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -1859,7 +1859,7 @@ public void testFromJoinWhereUnionLimitB5() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -1891,8 +1891,8 @@ public void testFromJoinWhereUnionLimitOffsetB1() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -1924,8 +1924,8 @@ public void testFromJoinWhereUnionLimitOffsetB2() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -1957,8 +1957,8 @@ public void testFromJoinWhereUnionLimitOffsetB3() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -1990,8 +1990,8 @@ public void testFromJoinWhereUnionLimitOffsetB4() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2023,8 +2023,8 @@ public void testFromJoinWhereUnionLimitOffsetB5() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2056,8 +2056,8 @@ public void testFromJoinWhereUnionLimitOffsetB6() { + " union" + " select id, name, idcard" + " from student" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -2087,7 +2087,7 @@ public void testFromJoinWhereUnionOffsetB1() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -2117,7 +2117,7 @@ public void testFromJoinWhereUnionOffsetB2() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -2147,7 +2147,7 @@ public void testFromJoinWhereUnionOffsetB3() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -2177,7 +2177,7 @@ public void testFromJoinWhereUnionOffsetB4() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2207,7 +2207,7 @@ public void testFromJoinWhereUnionOffsetB5() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2239,8 +2239,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB1() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -2272,8 +2272,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB2() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -2305,8 +2305,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB3() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -2338,8 +2338,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB4() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2371,8 +2371,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB5() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2404,8 +2404,8 @@ public void testFromJoinWhereUnionOffsetFetchFirstB6() { + " union" + " select id, name, idcard" + " from student" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -2435,7 +2435,7 @@ public void testFromJoinWhereUnionFetchFirstB1() { + " union" + " select id, name, idcard" + " from student" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -2465,7 +2465,7 @@ public void testFromJoinWhereUnionFetchFirstB2() { + " union" + " select id, name, idcard" + " from student" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -2495,7 +2495,7 @@ public void testFromJoinWhereUnionFetchFirstB3() { + " union" + " select id, name, idcard" + " from student" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -2525,7 +2525,7 @@ public void testFromJoinWhereUnionFetchFirstB4() { + " union" + " select id, name, idcard" + " from student" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2555,7 +2555,7 @@ public void testFromJoinWhereUnionFetchFirstB5() { + " union" + " select id, name, idcard" + " from student" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2673,7 +2673,7 @@ public void testFromJoinWhereOrderByLimitB1() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -2699,7 +2699,7 @@ public void testFromJoinWhereOrderByLimitB2() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -2725,7 +2725,7 @@ public void testFromJoinWhereOrderByLimitB3() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -2751,7 +2751,7 @@ public void testFromJoinWhereOrderByLimitB4() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2777,7 +2777,7 @@ public void testFromJoinWhereOrderByLimitB5() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2805,8 +2805,8 @@ public void testFromJoinWhereOrderByLimitOffsetB1() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -2834,8 +2834,8 @@ public void testFromJoinWhereOrderByLimitOffsetB2() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -2863,8 +2863,8 @@ public void testFromJoinWhereOrderByLimitOffsetB3() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -2892,8 +2892,8 @@ public void testFromJoinWhereOrderByLimitOffsetB4() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -2921,8 +2921,8 @@ public void testFromJoinWhereOrderByLimitOffsetB5() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -2950,8 +2950,8 @@ public void testFromJoinWhereOrderByLimitOffsetB6() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -2977,7 +2977,7 @@ public void testFromJoinWhereOrderByOffsetB1() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3003,7 +3003,7 @@ public void testFromJoinWhereOrderByOffsetB2() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3029,7 +3029,7 @@ public void testFromJoinWhereOrderByOffsetB3() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3055,7 +3055,7 @@ public void testFromJoinWhereOrderByOffsetB4() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3081,7 +3081,7 @@ public void testFromJoinWhereOrderByOffsetB5() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -3109,8 +3109,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB1() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3138,8 +3138,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB2() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3167,8 +3167,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB3() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3196,8 +3196,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB4() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3225,8 +3225,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB5() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -3254,8 +3254,8 @@ public void testFromJoinWhereOrderByOffsetFetchFirstB6() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder6.build().render(RenderingStrategies.MYBATIS3); @@ -3281,7 +3281,7 @@ public void testFromJoinWhereOrderByFetchFirstB1() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3307,7 +3307,7 @@ public void testFromJoinWhereOrderByFetchFirstB2() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3333,7 +3333,7 @@ public void testFromJoinWhereOrderByFetchFirstB3() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3359,7 +3359,7 @@ public void testFromJoinWhereOrderByFetchFirstB4() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3385,7 +3385,7 @@ public void testFromJoinWhereOrderByFetchFirstB5() { + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -3408,7 +3408,7 @@ public void testFromJoinWhereLimitB1() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3431,7 +3431,7 @@ public void testFromJoinWhereLimitB2() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3454,7 +3454,7 @@ public void testFromJoinWhereLimitB3() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3477,7 +3477,7 @@ public void testFromJoinWhereLimitB4() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3502,8 +3502,8 @@ public void testFromJoinWhereLimitOffsetB1() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3528,8 +3528,8 @@ public void testFromJoinWhereLimitOffsetB2() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3554,8 +3554,8 @@ public void testFromJoinWhereLimitOffsetB3() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3580,8 +3580,8 @@ public void testFromJoinWhereLimitOffsetB4() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3606,8 +3606,8 @@ public void testFromJoinWhereLimitOffsetB5() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -3630,7 +3630,7 @@ public void testFromJoinWhereOffsetB1() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3653,7 +3653,7 @@ public void testFromJoinWhereOffsetB2() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3676,7 +3676,7 @@ public void testFromJoinWhereOffsetB3() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3699,7 +3699,7 @@ public void testFromJoinWhereOffsetB4() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3724,8 +3724,8 @@ public void testFromJoinWhereOffsetFetchFirstB1() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3750,8 +3750,8 @@ public void testFromJoinWhereOffsetFetchFirstB2() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3776,8 +3776,8 @@ public void testFromJoinWhereOffsetFetchFirstB3() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3802,8 +3802,8 @@ public void testFromJoinWhereOffsetFetchFirstB4() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); @@ -3828,8 +3828,8 @@ public void testFromJoinWhereOffsetFetchFirstB5() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; SelectStatementProvider selectStatement = builder5.build().render(RenderingStrategies.MYBATIS3); @@ -3852,7 +3852,7 @@ public void testFromJoinWhereFetchFirstB1() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder1.build().render(RenderingStrategies.MYBATIS3); @@ -3875,7 +3875,7 @@ public void testFromJoinWhereFetchFirstB2() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder2.build().render(RenderingStrategies.MYBATIS3); @@ -3898,7 +3898,7 @@ public void testFromJoinWhereFetchFirstB3() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder3.build().render(RenderingStrategies.MYBATIS3); @@ -3921,7 +3921,7 @@ public void testFromJoinWhereFetchFirstB4() { + " from student" + " join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; SelectStatementProvider selectStatement = builder4.build().render(RenderingStrategies.MYBATIS3); diff --git a/src/test/java/issues/gh100/Issue100Test.java b/src/test/java/issues/gh100/Issue100Test.java index 2f013345c..7c22b81be 100644 --- a/src/test/java/issues/gh100/Issue100Test.java +++ b/src/test/java/issues/gh100/Issue100Test.java @@ -49,8 +49,8 @@ public void testNormalUsage() { + " select id, name, idcard" + " from student" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -126,7 +126,7 @@ public void testSuccessiveBuild04() { + " from student join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}"; + + " limit #{parameters._limit2}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -149,8 +149,8 @@ public void testSuccessiveBuild05() { + " from student join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " limit #{parameters._limit}" - + " offset #{parameters._offset}"; + + " limit #{parameters._limit2}" + + " offset #{parameters._offset3}"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -172,7 +172,7 @@ public void testSuccessiveBuild06() { + " from student join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows"; + + " offset #{parameters._offset2} rows"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -195,8 +195,8 @@ public void testSuccessiveBuild07() { + " from student join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " offset #{parameters._offset} rows" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " offset #{parameters._offset2} rows" + + " fetch first #{parameters._fetchFirstRows3} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } @@ -218,7 +218,7 @@ public void testSuccessiveBuild08() { + " from student join student_reg on student.id = student_reg.studentId" + " where student.idcard = #{parameters.p1}" + " order by id" - + " fetch first #{parameters._fetchFirstRows} rows only"; + + " fetch first #{parameters._fetchFirstRows2} rows only"; assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); } diff --git a/src/test/java/issues/lhg142/Issue142Test.java b/src/test/java/issues/lhg142/Issue142Test.java new file mode 100644 index 000000000..bf780930d --- /dev/null +++ b/src/test/java/issues/lhg142/Issue142Test.java @@ -0,0 +1,34 @@ +package issues.lhg142; + +import org.junit.jupiter.api.Test; +import org.mybatis.dynamic.sql.render.RenderingStrategies; +import org.mybatis.dynamic.sql.select.render.SelectStatementProvider; + +import static issues.lhg142.MyMarkDynamicSqlSupport.*; +import static org.assertj.core.api.Assertions.assertThat; +import static org.mybatis.dynamic.sql.SqlBuilder.*; + +public class Issue142Test { + + @Test + public void LimitWithSubqueries() { + Page page = new Page(100L, 10L); + SelectStatementProvider selectStatement = select(id, updateTime.as("mutime"), createTime.as("mctime")).from(myMark) + .where(id, isLessThanOrEqualTo( + select(id).from(myMark) + .orderBy(updateTime.descending(), createTime.descending()) + .limit(1L) + .offset(page.getOffset()) + )).orderBy(sortColumn("mutime").descending(), sortColumn("mctime").descending()) + .limit(page.getSize()).offset(0L).build() + .render(RenderingStrategies.MYBATIS3); + String expected = "select id, update_time as mutime, create_time as mctime from my_mark " + + "where id <= (select id from my_mark order by update_time DESC, create_time DESC limit #{parameters._limit1} offset #{parameters._offset2})" + + " order by mutime DESC, mctime DESC limit #{parameters._limit3} offset #{parameters._offset4}"; + assertThat(selectStatement.getSelectStatement()).isEqualTo(expected); + assertThat(selectStatement.getParameters().get("_limit1")).isEqualTo(1L); + assertThat(selectStatement.getParameters().get("_offset2")).isEqualTo(100L); + assertThat(selectStatement.getParameters().get("_limit3")).isEqualTo(10L); + assertThat(selectStatement.getParameters().get("_offset4")).isEqualTo(0L); + } +} diff --git a/src/test/java/issues/lhg142/MyMarkDynamicSqlSupport.java b/src/test/java/issues/lhg142/MyMarkDynamicSqlSupport.java new file mode 100644 index 000000000..ba84284b3 --- /dev/null +++ b/src/test/java/issues/lhg142/MyMarkDynamicSqlSupport.java @@ -0,0 +1,38 @@ +/** + * Copyright 2016-2019 the original author or authors. + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package issues.lhg142; + +import org.mybatis.dynamic.sql.SqlColumn; +import org.mybatis.dynamic.sql.SqlTable; + +import java.time.LocalDateTime; + +public final class MyMarkDynamicSqlSupport { + public static final MyMark myMark = new MyMark(); + public static final SqlColumn id = myMark.id; + public static final SqlColumn createTime = myMark.createTime; + public static final SqlColumn updateTime = myMark.updateTime; + + public static final class MyMark extends SqlTable { + public final SqlColumn id = column("id"); + public final SqlColumn createTime = column("create_time"); + public final SqlColumn updateTime = column("update_time"); + + public MyMark() { + super("my_mark"); + } + } +} diff --git a/src/test/java/issues/lhg142/Page.java b/src/test/java/issues/lhg142/Page.java new file mode 100644 index 000000000..dafcf4c07 --- /dev/null +++ b/src/test/java/issues/lhg142/Page.java @@ -0,0 +1,27 @@ +package issues.lhg142; + +public class Page { + private Long offset; + private Long size; + + public Page(Long offset, Long size) { + this.offset = offset; + this.size = size; + } + + public Long getOffset() { + return offset; + } + + public void setOffset(Long offset) { + this.offset = offset; + } + + public Long getSize() { + return size; + } + + public void setSize(Long size) { + this.size = size; + } +} diff --git a/src/test/kotlin/examples/kotlin/mybatis3/general/GeneralKotlinTest.kt b/src/test/kotlin/examples/kotlin/mybatis3/general/GeneralKotlinTest.kt index a11dc1eb3..2e221564b 100644 --- a/src/test/kotlin/examples/kotlin/mybatis3/general/GeneralKotlinTest.kt +++ b/src/test/kotlin/examples/kotlin/mybatis3/general/GeneralKotlinTest.kt @@ -462,7 +462,7 @@ class GeneralKotlinTest { " where id < #{parameters.p1,jdbcType=INTEGER}" + " and (id < #{parameters.p2,jdbcType=INTEGER}" + " and (id < #{parameters.p3,jdbcType=INTEGER} and id < #{parameters.p4,jdbcType=INTEGER}))" + - " order by id limit #{parameters._limit}" + " order by id limit #{parameters._limit5}" assertThat(selectStatement.selectStatement).isEqualTo(expected) @@ -503,7 +503,7 @@ class GeneralKotlinTest { " where id = #{parameters.p1,jdbcType=INTEGER}" + " or (id = #{parameters.p2,jdbcType=INTEGER}" + " or (id = #{parameters.p3,jdbcType=INTEGER} or id = #{parameters.p4,jdbcType=INTEGER}))" + - " order by id limit #{parameters._limit}" + " order by id limit #{parameters._limit5}" assertThat(selectStatement.selectStatement).isEqualTo(expected) diff --git a/src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTest.kt b/src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTest.kt index da36826e7..b2d32162f 100644 --- a/src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTest.kt +++ b/src/test/kotlin/examples/kotlin/spring/canonical/CanonicalSpringKotlinTest.kt @@ -294,7 +294,7 @@ class CanonicalSpringKotlinTest { val expected = "select p.id as A_ID, p.first_name, p.last_name, p.birth_date, p.employed," + " p.occupation, a.address_id, a.street_address, a.city, a.state" + " from Person p join Address a on p.address_id = a.address_id" + - " where p.id < :p1 order by id limit :_limit" + " where p.id < :p1 order by id limit :_limit2" assertThat(selectStatement.selectStatement).isEqualTo(expected) @@ -352,7 +352,7 @@ class CanonicalSpringKotlinTest { " where id < :p1" + " and (id < :p2" + " and (id < :p3 and id < :p4))" + - " order by id limit :_limit" + " order by id limit :_limit5" assertThat(selectStatement.selectStatement).isEqualTo(expected) @@ -399,7 +399,7 @@ class CanonicalSpringKotlinTest { " where id = :p1" + " or (id = :p2" + " or (id = :p3 or id = :p4))" + - " order by id limit :_limit" + " order by id limit :_limit5" assertThat(selectStatement.selectStatement).isEqualTo(expected)