public Task <IViewResult <T> > ViewQueryAsync <T>(string designDocument, string viewName, ViewOptions options = default) { if (options == default) { options = new ViewOptions(); } // create old style query var query = new ViewQuery(GetViewUri().ToString()) { UseSsl = _configuration.UseSsl }; query.Bucket(Name); query.From(designDocument, viewName); query.Stale(options.StaleState); query.Limit(options.Limit); query.Skip(options.Skip); query.StartKey(options.StartKey); query.StartKeyDocId(options.StartKeyDocId); query.EndKey(options.EndKey); query.EndKeyDocId(options.EndKeyDocId); query.InclusiveEnd(options.InclusiveEnd); query.Group(options.Group); query.GroupLevel(options.GroupLevel); query.Key(options.Key); query.Keys(options.Keys); query.GroupLevel(options.GroupLevel); query.Reduce(options.Reduce); query.Development(options.Development); query.ConnectionTimeout(options.ConnectionTimeout); if (options.Descending.HasValue) { if (options.Descending.Value) { query.Desc(); } else { query.Asc(); } } if (options.FullSet.HasValue && options.FullSet.Value) { query.FullSet(); } return(_viewClientLazy.Value.ExecuteAsync <T>(query)); }
public override async Task <IViewResult <TKey, TValue> > ViewQueryAsync <TKey, TValue>(string designDocument, string viewName, ViewOptions?options = null) { ThrowIfBootStrapFailed(); options ??= new ViewOptions(); // create old style query var query = new ViewQuery(GetViewUri().ToString()) { UseSsl = Context.ClusterOptions.EffectiveEnableTls }; //Normalize to new naming convention for public API RFC#51 var staleState = StaleState.None; if (options.ScanConsistencyValue == ViewScanConsistency.RequestPlus) { staleState = StaleState.False; } if (options.ScanConsistencyValue == ViewScanConsistency.UpdateAfter) { staleState = StaleState.UpdateAfter; } if (options.ScanConsistencyValue == ViewScanConsistency.NotBounded) { staleState = StaleState.Ok; } query.Bucket(Name); query.From(designDocument, viewName); query.Stale(staleState); query.Limit(options.LimitValue); query.Skip(options.SkipValue); query.StartKey(options.StartKeyValue); query.StartKeyDocId(options.StartKeyDocIdValue); query.EndKey(options.EndKeyValue); query.EndKeyDocId(options.EndKeyDocIdValue); query.InclusiveEnd(options.InclusiveEndValue); query.Group(options.GroupValue); query.GroupLevel(options.GroupLevelValue); query.Key(options.KeyValue); query.Keys(options.KeysValue); query.Reduce(options.ReduceValue); query.Development(options.DevelopmentValue); query.Debug(options.DebugValue); query.Namespace(options.NamespaceValue); query.OnError(options.OnErrorValue == ViewErrorMode.Stop); query.Timeout = options.TimeoutValue ?? Context.ClusterOptions.ViewTimeout; query.Serializer = options.SerializerValue; if (options.ViewOrderingValue == ViewOrdering.Decesending) { query.Desc(); } else { query.Asc(); } if (options.FullSetValue.HasValue && options.FullSetValue.Value) { query.FullSet(); } foreach (var kvp in options.RawParameters) { query.Raw(kvp.Key, kvp.Value); } async Task <IViewResult <TKey, TValue> > Func() { var client1 = _viewClientLazy.Value; return(await client1.ExecuteAsync <TKey, TValue>(query).ConfigureAwait(false)); } return(await RetryOrchestrator.RetryAsync(Func, query).ConfigureAwait(false)); }
public override Task <IViewResult> ViewQueryAsync(string designDocument, string viewName, ViewOptions options) { // create old style query var query = new ViewQuery(GetViewUri().ToString()) { UseSsl = Context.ClusterOptions.UseSsl }; //Normalize to new naming convention for public API RFC#51 var staleState = StaleState.None; if (options.ScanConsistency == ViewScanConsistency.RequestPlus) { staleState = StaleState.False; } if (options.ScanConsistency == ViewScanConsistency.UpdateAfter) { staleState = StaleState.UpdateAfter; } if (options.ScanConsistency == ViewScanConsistency.RequestPlus) { staleState = StaleState.Ok; } query.Bucket(Name); query.From(designDocument, viewName); query.Stale(staleState); query.Limit(options.Limit); query.Skip(options.Skip); query.StartKey(options.StartKey); query.StartKeyDocId(options.StartKeyDocId); query.EndKey(options.EndKey); query.EndKeyDocId(options.EndKeyDocId); query.InclusiveEnd(options.InclusiveEnd); query.Group(options.Group); query.GroupLevel(options.GroupLevel); query.Key(options.Key); query.Keys(options.Keys); query.Reduce(options.Reduce); query.Development(options.Development); query.ConnectionTimeout(options.ConnectionTimeout); query.Debug(options.Debug); query.Namespace(options.Namespace); query.OnError(options.OnError == ViewErrorMode.Stop); if (options.ViewOrdering == ViewOrdering.Decesending) { query.Desc(); } else { query.Asc(); } if (options.FullSet.HasValue && options.FullSet.Value) { query.FullSet(); } foreach (var kvp in options.RawParameters) { query.Raw(kvp.Key, kvp.Value); } return(_viewClientLazy.Value.ExecuteAsync(query)); }