Package com.google.apphosting.datastore.DatastoreV4

Examples of com.google.apphosting.datastore.DatastoreV4.QueryResultBatch


      throws DatastoreException {
    Query.Builder scatterPointQuery = createScatterQuery(query, numSplits);

    List<Key> keySplits = new ArrayList<Key>();

    QueryResultBatch batch;
    do {
      RunQueryRequest scatterRequest = RunQueryRequest.newBuilder()
          .setQuery(scatterPointQuery).build();
      batch = datastore.runQuery(scatterRequest).getBatch();
      for (EntityResult result : batch.getEntityResultList()) {
        keySplits.add(result.getEntity().getKey());
      }
      scatterPointQuery.setStartCursor(batch.getEndCursor());
      scatterPointQuery.setLimit(scatterPointQuery.getLimit() - batch.getEntityResultCount());
    } while (batch.getMoreResults() == MoreResultsType.NOT_FINISHED);
    Collections.sort(keySplits, DatastoreHelper.getKeyComparator());
    return keySplits;
  }
View Full Code Here


          throws ExecutionException, InterruptedException, TimeoutException {
        while (true) {
          List<EntityV4.Key> deferredKeys = Lists.newArrayList();

          for (Future<LookupResponse> currentFuture : currentFutures) {
            LookupResponse resp = getFutureWithOptionalTimeout(currentFuture, timeout, timeoutUnit);
            addEntitiesToResultMap(resp);
            deferredKeys.addAll(resp.getDeferredList());
          }

          if (deferredKeys.isEmpty()) {
            break;
          }
View Full Code Here

  @Override
  Future<RunQueryResponse> makeNextCall(RunQueryRequest prototype, WrappedQueryResult latestResult,Integer fetchCount,Integer offset) {
    RunQueryRequest.Builder runQueryRequest = prototype.toBuilder();
    DatastoreV4.Query.Builder query = runQueryRequest.getQueryBuilder();
    QueryResultBatch latestBatch = ((WrappedQueryResultV4) latestResult).getBatch();
    if (!latestBatch.hasEndCursor()) {
      throw new IllegalArgumentException();
    }
    query.setStartCursor(latestBatch.getEndCursor());
    if (query.hasLimit()) {
      remainingLimit -= latestBatch.getEntityResultCount();
      query.setLimit(Math.max(remainingLimit, 0));
    }
    if (offset != null) {
      query.setOffset(offset);
    } else {
View Full Code Here

          .setTransaction(InternalTransactionV4.getById(txn.getId()).getHandle());
    } else if (datastoreServiceConfig.getReadPolicy().getConsistency() == Consistency.EVENTUAL) {
      queryBldr.getReadOptionsBuilder().setReadConsistency(ReadConsistency.EVENTUAL);
    }

    RunQueryRequest request = queryBldr.build();
    Future<RunQueryResponse> result = datastoreProxy.runQuery(request);

    if (datastoreServiceConfig.getApiVersion() == ApiVersion.CLOUD_DATASTORE) {
      return new QueryResultsSourceCloudDatastore(datastoreServiceConfig.getDatastoreCallbacks(),
          fetchOptions, txn, query, request, result, datastoreProxy);
View Full Code Here

TOP

Related Classes of com.google.apphosting.datastore.DatastoreV4.QueryResultBatch

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.