public void HandleResponses(GetResponse[] responses, ShardStrategy shardStrategy) { var count = responses.Count(x => x.Status == 404); if (count != 0) { throw new InvalidOperationException("There is no index named: " + queryOperation.IndexName + " in " + count + " shards"); } var list = responses .Select(response => SerializationHelper.ToQueryResult((RavenJObject)response.Result, response.GetEtagHeader())) .ToList(); var queryResult = shardStrategy.MergeQueryResults(queryOperation.IndexQuery, list); RequiresRetry = queryOperation.IsAcceptable(queryResult) == false; if (RequiresRetry) { return; } if (afterQueryExecuted != null) { afterQueryExecuted(queryResult); } Result = queryOperation.Complete <T>(); }
private void HandleResponse(QueryResult queryResult, TimeSpan duration) { _queryOperation.EnsureIsAcceptableAndSaveResult(queryResult, duration); _afterQueryExecuted?.Invoke(queryResult); Result = _queryOperation.Complete <T>(); QueryResult = queryResult; }
private async Task <IEnumerable <T> > ExecuteQueryOperation(int take, CancellationToken token) { if (PageSize.HasValue == false || PageSize > take) { Take(take); } await InitAsync(token).ConfigureAwait(false); return(QueryOperation.Complete <T>()); }
private IEnumerable <T> ExecuteQueryOperation(int take) { if (PageSize.HasValue == false || PageSize > take) { Take(take); } InitSync(); return(QueryOperation.Complete <T>()); }
public void HandleResponse(GetResponse response) { if (response.Status == 404) { throw new InvalidOperationException("There is no index named: " + queryOperation.IndexName); } var json = RavenJObject.Parse(response.Result); var queryResult = SerializationHelper.ToQueryResult(json, response.Headers["ETag"]); RequiresRetry = queryOperation.IsAcceptable(queryResult) == false; if (RequiresRetry) { return; } if (afterQueryExecuted != null) { afterQueryExecuted(queryResult); } Result = queryOperation.Complete <T>(); }
private static Task <Tuple <QueryResult, List <T> > > ProcessEnumerator(QueryOperation currentQueryOperation) { var list = currentQueryOperation.Complete <T>(); return(Task.FromResult(Tuple.Create(currentQueryOperation.CurrentQueryResults, list))); }
/// <inheritdoc /> public IEnumerator <T> GetEnumerator() { InitSync(); return(QueryOperation.Complete <T>().GetEnumerator()); }