/** Example of creating and running a projection entity query. */ // [TARGET newProjectionEntityQueryBuilder()] // [VARIABLE "my_kind"] // [VARIABLE "my_property"] public QueryResults<ProjectionEntity> newProjectionEntityQuery(String kind, String property) { // [START newProjectionEntityQuery] Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder().setKind(kind).addProjection(property).build(); QueryResults<ProjectionEntity> results = datastore.run(query); // Use results // [END newProjectionEntityQuery] return results; } }
Query.newProjectionEntityQueryBuilder().setKind(KIND1).setProjection("__key__").build(); StructuredQuery<ProjectionEntity> scKeyOnlyProjectionQuery = Query.newProjectionEntityQueryBuilder() .setKind(KIND1) .setFilter(PropertyFilter.hasAncestor(ROOT_KEY)) Query.newProjectionEntityQueryBuilder() .setKind(KIND2) .setProjection("age") Query.newProjectionEntityQueryBuilder() .setKind(KIND2) .setFilter(PropertyFilter.hasAncestor(ROOT_KEY))
.build(); Query<ProjectionEntity> scKeyProjectionQuery = Query.newProjectionEntityQueryBuilder() .addProjection("__key__") .setNamespace(NAMESPACE)
Query.newProjectionEntityQueryBuilder().setKind(KIND1).setProjection("__key__").build(); QueryResults<ProjectionEntity> results3 = datastore.run(keyOnlyProjectionQuery); assertTrue(results3.hasNext()); Query.newProjectionEntityQueryBuilder() .setKind(KIND2) .setProjection("age")
Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder() .setKind(_model.getKind()) .setProjection(_model.getId(), _model.getLastNode(), _model.getExpiry())
/** * Check to see if indexes are available, in which case * we can do more performant queries. * @return <code>true</code> if indexes are available */ protected boolean checkIndexes() { try { Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder() .setKind(_model.getKind()) .setProjection(_model.getExpiry()) .setFilter(PropertyFilter.eq(_model.getId(), "-")) .build(); _datastore.run(query); return true; } catch (DatastoreException e) { //need to assume that the problem is the index doesn't exist, because there //is no specific code for that if (LOG.isDebugEnabled()) LOG.debug("Check for indexes", e); return false; } }
Query<ProjectionEntity> query = Query.newProjectionEntityQueryBuilder() .setKind(_model.getKind()) .setProjection(_model.getExpiry())