/** Example of creating and running a key query. */ // [TARGET newKeyQueryBuilder()] // [VARIABLE "my_kind"] public QueryResults<Key> newKeyQuery(String kind) { // [START newKeyQuery] Query<Key> query = Query.newKeyQueryBuilder().setKind(kind).build(); QueryResults<Key> results = datastore.run(query); // Use results // [END newKeyQuery] return results; }
/** Deletes all entities in the namespace associated with this {@link RemoteDatastoreHelper}. */ public void deleteNamespace() { StructuredQuery<Key> query = Query.newKeyQueryBuilder().setNamespace(namespace).build(); QueryResults<Key> keys = datastore.run(query); while (keys.hasNext()) { datastore.delete(keys.next()); } }
@Test public void testStructuredQueryPagination() throws DatastoreException { List<RunQueryResponse> responses = buildResponsesForQueryPagination(); for (int i = 0; i < responses.size(); i++) { EasyMock.expect(rpcMock.runQuery(EasyMock.anyObject(RunQueryRequest.class))) .andReturn(responses.get(i)); } EasyMock.replay(rpcFactoryMock, rpcMock); Datastore datastore = rpcMockOptions.getService(); QueryResults<Key> results = datastore.run(Query.newKeyQueryBuilder().build()); int count = 0; while (results.hasNext()) { count += 1; results.next(); } assertEquals(count, 5); EasyMock.verify(rpcFactoryMock, rpcMock); }
@Override public void run(Transaction tx, Key userKey, Void arg) { Entity user = tx.get(userKey); if (user == null) { System.out.println("Nothing to delete, user does not exist."); return; } Query<Key> query = Query.newKeyQueryBuilder() .setNamespace(NAMESPACE) .setKind(COMMENT_KIND) .setFilter(PropertyFilter.hasAncestor(userKey)) .build(); QueryResults<Key> comments = tx.run(query); int count = 0; while (comments.hasNext()) { tx.delete(comments.next()); count++; } tx.delete(userKey); System.out.printf("Deleting user '%s' and %d comment[s].%n", userKey.getName(), count); }
/** * Finds the ID of the first {@link PortabilityJob} in state {@code jobState} in Datastore, or * null if none found. * * <p>TODO(rtannenbaum): Order by creation time so we can process jobs in a FIFO manner. Trying * to OrderBy.asc("created") currently fails because we don't yet have an index set up. */ @Override public UUID findFirst(JobAuthorization.State jobState) { Query<Key> query = Query.newKeyQueryBuilder() .setKind(KIND) .setFilter(PropertyFilter.eq(PortabilityJob.AUTHORIZATION_STATE, jobState.name())) // .setOrderBy(OrderBy.asc("created")) .setLimit(1) .build(); QueryResults<Key> results = datastore.run(query); if (!results.hasNext()) { return null; } Key key = results.next(); return UUID.fromString(key.getName()); }
@Test public void testSkippedResults() { Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build(); int numberOfEntities = DATASTORE.run(query).getSkippedResults(); assertEquals(2, numberOfEntities); } }
@Test public void testRunKeyQueryWithOffset() { Query<Key> query = Query.newKeyQueryBuilder().setOffset(Integer.MAX_VALUE).build(); int numberOfEntities = datastore.run(query).getSkippedResults(); assertEquals(2, numberOfEntities); }
@Before public void setUp() { rpcFactoryMock = EasyMock.createStrictMock(DatastoreRpcFactory.class); rpcMock = EasyMock.createStrictMock(DatastoreRpc.class); rpcMockOptions = options .toBuilder() .setRetrySettings(ServiceOptions.getDefaultRetrySettings()) .setServiceRpcFactory(rpcFactoryMock) .build(); EasyMock.expect(rpcFactoryMock.create(rpcMockOptions)).andReturn(rpcMock); StructuredQuery<Key> query = Query.newKeyQueryBuilder().build(); QueryResults<Key> result = datastore.run(query); datastore.delete(Iterators.toArray(result, Key.class)); datastore.add(ENTITY1, ENTITY2); }
datastore.add(ENTITY3, entity4, entity5); List<RunQueryResponse> responses = new ArrayList<>(); Query<Key> query = Query.newKeyQueryBuilder().build(); RunQueryRequest.Builder requestPb = RunQueryRequest.newBuilder(); query.populatePb(requestPb);
.build(); Query<Key> scKeyOnlyQuery = Query.newKeyQueryBuilder() .setNamespace(NAMESPACE) .setFilter(PropertyFilter.hasAncestor(ROOT_KEY))
assertFalse(results1.hasNext()); Query<Key> keyOnlyQuery = Query.newKeyQueryBuilder().setKind(KIND1).build(); Query<Key> scKeyOnlyQuery = Query.newKeyQueryBuilder() .setKind(KIND1) .setFilter(PropertyFilter.hasAncestor(ROOT_KEY))
assertFalse(results1.hasNext()); Query<Key> keyOnlyQuery = Query.newKeyQueryBuilder().setKind(KIND1).build(); QueryResults<Key> results2 = datastore.run(keyOnlyQuery); assertTrue(results2.hasNext());
private Key[] findAllKeys(Class entityClass) { Iterable<Key> keysFound = queryKeys(Query.newKeyQueryBuilder().setKind( this.datastoreMappingContext .getPersistentEntity(entityClass).kindName()) .build()); return StreamSupport.stream(keysFound.spliterator(), false).toArray(Key[]::new); }
private Key[] findAllKeys(Class entityClass) { Iterable<Key> keysFound = queryKeys(Query.newKeyQueryBuilder().setKind( this.datastoreMappingContext .getPersistentEntity(entityClass).kindName()) .build()); return StreamSupport.stream(keysFound.spliterator(), false).toArray(Key[]::new); }
/** Deletes all entities in the namespace associated with this {@link RemoteDatastoreHelper}. */ public void deleteNamespace() { StructuredQuery<Key> query = Query.newKeyQueryBuilder().setNamespace(namespace).build(); QueryResults<Key> keys = datastore.run(query); while (keys.hasNext()) { datastore.delete(keys.next()); } }
Query<Key> q = Query.newKeyQueryBuilder() .setKind(_model.getKind()) .setFilter(PropertyFilter.eq(_model.getId(), s))
this.datastoreMappingContext.getPersistentEntity(example.getProbeType()); StructuredQuery.Builder builder = keyQuery ? Query.newKeyQueryBuilder() : Query.newEntityQueryBuilder(); builder.setKind(persistentEntity.kindName());