Skip to content

Commit 8c33cc4

Browse files
ajaaymchingor13
authored andcommitted
---
yaml --- r: 11743 b: refs/heads/autosynth-video-intelligence c: 2501613 h: refs/heads/master i: 11741: 40e5d32 11739: 131cdf2 11735: 6cbbd5f 11727: f9c29bf 11711: fb3dfa1
1 parent e807835 commit 8c33cc4

5 files changed

Lines changed: 35 additions & 1 deletion

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ refs/heads/autosynth-container: d0346e84b1f26e3dc10444450a998f357a43bcef
117117
refs/heads/autosynth-dataproc: c0f21dd811166848a60f810565a5614bb9c7f47e
118118
refs/heads/autosynth-monitoring: 28bf7ca67c0aab4815884e5d6253aaa8aa3baa1c
119119
refs/heads/autosynth-pubsub: 5a23c921229ede711e9fb37341ecd08a6f8ff216
120-
refs/heads/autosynth-video-intelligence: 38ec041b6ddc84f7ea475df1618a1fe1a697acfe
120+
refs/heads/autosynth-video-intelligence: 25016131f77f3038df3ca754fc784412bd1c162f
121121
refs/heads/autosynth-vision: 6bece1ee6c1c41d5822c72bf0d6a82484166b402
122122
refs/heads/spanner: 54a5e197bfe0a004e13c190427f46c3413ab572d
123123
refs/tags/v0.68.0: 9cc799fcf68c82ab431d425fefa58ef615ce8e5b

branches/autosynth-video-intelligence/google-cloud-clients/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResults.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,19 @@ public interface QueryResults<V> extends Iterator<V> {
5555
* }</pre>
5656
*/
5757
Cursor getCursorAfter();
58+
59+
/**
60+
* Returns the number of results skipped, typically because of an offset.
61+
*
62+
* <p>A simple use case to count entities:
63+
*
64+
* <pre>{@code
65+
* Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build();
66+
* QueryResults<Key> result = datasore.datastore.run(query);
67+
* if (!result.hasNext()) {
68+
* int numberOfEntities = result.getSkippedResults();
69+
* }
70+
* }</pre>
71+
*/
72+
int getSkippedResults();
5873
}

branches/autosynth-video-intelligence/google-cloud-clients/google-cloud-datastore/src/main/java/com/google/cloud/datastore/QueryResultsImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,9 @@ public Class<?> getResultClass() {
114114
public Cursor getCursorAfter() {
115115
return new Cursor(cursor);
116116
}
117+
118+
@Override
119+
public int getSkippedResults() {
120+
return runQueryResponsePb.getBatch().getSkippedResults();
121+
}
117122
}

branches/autosynth-video-intelligence/google-cloud-clients/google-cloud-datastore/src/test/java/com/google/cloud/datastore/DatastoreTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,6 +633,13 @@ public void testQueryPaginationWithLimit() throws DatastoreException {
633633
EasyMock.verify(rpcFactoryMock, rpcMock);
634634
}
635635

636+
@Test
637+
public void testRunKeyQueryWithOffset() {
638+
Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build();
639+
int numberOfEntities = datastore.run(query).getSkippedResults();
640+
assertEquals(2, numberOfEntities);
641+
}
642+
636643
private List<RunQueryResponse> buildResponsesForQueryPaginationWithLimit() {
637644
Entity entity4 = Entity.newBuilder(KEY4).set("value", StringValue.of("value")).build();
638645
Entity entity5 = Entity.newBuilder(KEY5).set("value", "value").build();

branches/autosynth-video-intelligence/google-cloud-clients/google-cloud-datastore/src/test/java/com/google/cloud/datastore/it/ITDatastoreTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -851,4 +851,11 @@ public Integer run(DatastoreReaderWriter transaction) {
851851
assertEquals(3, ((DatastoreException) expected.getCause()).getCode());
852852
}
853853
}
854+
855+
@Test
856+
public void testSkippedResults() {
857+
Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build();
858+
int numberOfEntities = DATASTORE.run(query).getSkippedResults();
859+
assertEquals(2, numberOfEntities);
860+
}
854861
}

0 commit comments

Comments
 (0)