This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new 633f07f CAY-2714 Offset value is not copied to column select metadata
new 8f22799 Merge pull request #461 from aarrsseni/CAY-2714
633f07f is described below
commit 633f07f7331c3d74090a044e30def48d77e58b17
Author: Arseni Bulatski <[email protected]>
AuthorDate: Tue Jun 29 15:20:09 2021 +0300
CAY-2714 Offset value is not copied to column select metadata
---
RELEASE-NOTES.txt | 1 +
.../java/org/apache/cayenne/query/BaseQueryMetadata.java | 15 ++++++++-------
.../java/org/apache/cayenne/query/ColumnSelectTest.java | 11 +++++++++++
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 9d353a2..c783b25 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -28,6 +28,7 @@ CAY-2709 Modeler: Cgen fails to generate code for a new
unsaved project with all
CAY-2710 Modeler: modeler throws IllegalArgumentsException when root and rel
paths have different root
CAY-2712 Shouldn't run batch inserts with generated keys if there is reflexive
dependency
CAY-2713 ConcurrentModificationException when Inserting
+CAY-2714 Offset value is not copied to column select metadata
----------------------------------
Release: 4.2.M3
diff --git
a/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
b/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
index 3b1142e..576ba88 100644
---
a/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
+++
b/cayenne-server/src/main/java/org/apache/cayenne/query/BaseQueryMetadata.java
@@ -36,7 +36,7 @@ import org.apache.cayenne.reflect.ClassDescriptor;
/**
* Default mutable implementation of {@link QueryMetadata}.
- *
+ *
* @since 1.1
*/
class BaseQueryMetadata implements QueryMetadata, Serializable {
@@ -80,6 +80,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
this.fetchingDataRows = info.isFetchingDataRows();
this.fetchLimit = info.getFetchLimit();
+ this.fetchOffset = info.getFetchOffset();
this.pageSize = info.getPageSize();
this.cacheStrategy = info.getCacheStrategy();
this.cacheKey = info.getCacheKey();
@@ -368,7 +369,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Sets statement's fetch size (0 for no default size)
- *
+ *
* @since 3.0
*/
void setStatementFetchSize(int size) {
@@ -401,7 +402,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Adds a joint prefetch.
- *
+ *
* @since 1.2
*/
PrefetchTreeNode addPrefetch(String path, int semantics) {
@@ -417,7 +418,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Adds a joint prefetch.
- *
+ *
* @since 4.0
*/
void mergePrefetch(PrefetchTreeNode node) {
@@ -430,7 +431,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Adds all prefetches from a provided collection.
- *
+ *
* @since 1.2
*/
void addPrefetches(Collection<String> prefetches, int semantics) {
@@ -443,7 +444,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Clears all joint prefetches.
- *
+ *
* @since 1.2
*/
void clearPrefetches() {
@@ -452,7 +453,7 @@ class BaseQueryMetadata implements QueryMetadata,
Serializable {
/**
* Removes joint prefetch.
- *
+ *
* @since 1.2
*/
void removePrefetch(String prefetch) {
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectTest.java
b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectTest.java
index 21872a3..ad336d0 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectTest.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/query/ColumnSelectTest.java
@@ -256,4 +256,15 @@ public class ColumnSelectTest {
assertTrue(q.metaData.isSuppressingDistinct());
}
+ @Test
+ public void testOffsetCopyFromObjectSelect() {
+ ObjectSelect<Artist> select =
ObjectSelect.query(Artist.class).offset(10).limit(10);
+ assertEquals(10, select.getOffset());
+ assertEquals(10, select.getLimit());
+
+ ColumnSelect<String> columnSelect = select.column(Artist.ARTIST_NAME);
+ assertEquals(10, columnSelect.getOffset());
+ assertEquals(10, columnSelect.getLimit());
+ }
+
}
\ No newline at end of file