public override FeedIterator <T> GetItemQueryIterator <T>( FeedToken feedToken, string queryText = null, QueryRequestOptions requestOptions = null) { return(this.container.GetItemQueryIterator <T>(feedToken, queryText, requestOptions)); }
public override FeedIterator <T> GetItemQueryIterator <T>( FeedToken feedToken, QueryDefinition queryDefinition, QueryRequestOptions requestOptions = null) { return(this.container.GetItemQueryIterator <T>(feedToken, queryDefinition, requestOptions)); }
FeedIterator GetChangeFeedStreamIterator( FeedToken feedToken, ChangeFeedRequestOptions changeFeedRequestOptions = null) { FeedTokenInternal feedTokenInternal = feedToken as FeedTokenInternal; return(new ChangeFeedIteratorCore( this, feedTokenInternal, changeFeedRequestOptions)); }
FeedIterator <T> GetChangeFeedIterator <T>( FeedToken feedToken, ChangeFeedRequestOptions changeFeedRequestOptions = null) { FeedTokenInternal feedTokenInternal = feedToken as FeedTokenInternal; ChangeFeedIteratorCore changeFeedIteratorCore = new ChangeFeedIteratorCore( this, feedTokenInternal, changeFeedRequestOptions); return(new FeedIteratorCore <T>(changeFeedIteratorCore, responseCreator: this.ClientContext.ResponseFactory.CreateChangeFeedUserTypeResponse <T>)); }
public static bool TryParseInstance(string toStringValue, out FeedToken feedToken) { try { feedToken = JsonConvert.DeserializeObject <FeedTokenEPKRange>(toStringValue); return(true); } catch { feedToken = null; return(false); } }
FeedIterator GetItemQueryStreamIterator( FeedToken feedToken, string queryText = null, QueryRequestOptions requestOptions = null) { QueryDefinition queryDefinition = null; if (queryText != null) { queryDefinition = new QueryDefinition(queryText); } return(this.GetItemQueryStreamIterator( feedToken, queryDefinition, requestOptions)); }
FeedIterator GetItemQueryStreamIterator( FeedToken feedToken, QueryDefinition queryDefinition, QueryRequestOptions requestOptions = null) { if (feedToken is FeedTokenInternal feedTokenInternal) { return(this.GetItemQueryStreamIteratorInternal( sqlQuerySpec: queryDefinition?.ToSqlQuerySpec(), isContinuationExcpected: true, continuationToken: null, feedToken: feedTokenInternal, requestOptions: requestOptions)); } throw new ArgumentException(nameof(feedToken), ClientResources.FeedToken_InvalidImplementation); }
async Task <IEnumerable <string> > GetPartitionKeyRangesAsync( FeedToken feedToken, CancellationToken cancellationToken = default(CancellationToken)) { if (feedToken is FeedTokenEPKRange feedTokenEPKRange) { PartitionKeyRangeCache partitionKeyRangeCache = await this.ClientContext.DocumentClient.GetPartitionKeyRangeCacheAsync(); string containerRId = await this.GetRIDAsync(cancellationToken); IReadOnlyList <Documents.PartitionKeyRange> partitionKeyRanges = await partitionKeyRangeCache.TryGetOverlappingRangesAsync(containerRId, feedTokenEPKRange.CompleteRange, forceRefresh : false); return(partitionKeyRanges.Select(partitionKeyRange => partitionKeyRange.Id)); } if (feedToken is FeedTokenPartitionKeyRange feedTokenPartitionKeyRange) { if (feedTokenPartitionKeyRange.FeedTokenEPKRange != null) { return(await this.GetPartitionKeyRangesAsync(feedTokenPartitionKeyRange.FeedTokenEPKRange, cancellationToken)); } return(new List <string>() { feedTokenPartitionKeyRange.PartitionKeyRangeId }); } if (feedToken is FeedTokenPartitionKey feedTokenPartitionKey) { CollectionRoutingMap collectionRoutingMap = await this.GetRoutingMapAsync(cancellationToken); PartitionKeyDefinition partitionKeyDefinition = await this.GetPartitionKeyDefinitionAsync(cancellationToken); PartitionKeyInternal partitionKeyInternal = feedTokenPartitionKey.PartitionKey.InternalKey; string effectivePartitionKeyString = partitionKeyInternal.GetEffectivePartitionKeyString(partitionKeyDefinition); string partitionKeyRangeId = collectionRoutingMap.GetRangeByEffectivePartitionKey(effectivePartitionKeyString).Id; return(new List <string>() { partitionKeyRangeId }); } throw new ArgumentException(nameof(feedToken), ClientResources.FeedToken_UnrecognizedFeedToken); }
FeedIterator <T> GetItemQueryIterator <T>( FeedToken feedToken, QueryDefinition queryDefinition, QueryRequestOptions requestOptions = null) { requestOptions = requestOptions ?? new QueryRequestOptions(); if (!(this.GetItemQueryStreamIterator( feedToken, queryDefinition, requestOptions) is FeedIteratorInternal feedIterator)) { throw new InvalidOperationException($"Expected a FeedIteratorInternal."); } return(new FeedIteratorCore <T>( feedIterator: feedIterator, responseCreator: this.ClientContext.ResponseFactory.CreateQueryFeedUserTypeResponse <T>)); }
public static bool TryParseInstance(string toStringValue, out FeedToken feedToken) { try { feedToken = JsonConvert.DeserializeObject <FeedTokenPartitionKeyRange>(toStringValue); return(true); } catch { // Special case, for backward compatibility, if the string represents a PKRangeId if (int.TryParse(toStringValue, out int pkRangeId)) { feedToken = new FeedTokenPartitionKeyRange(pkRangeId.ToString()); return(true); } feedToken = null; return(false); } }
public static bool TryParse( string toStringValue, out FeedToken parsedToken) { if (FeedTokenEPKRange.TryParseInstance(toStringValue, out parsedToken)) { return(true); } if (FeedTokenPartitionKey.TryParseInstance(toStringValue, out parsedToken)) { return(true); } if (FeedTokenPartitionKeyRange.TryParseInstance(toStringValue, out parsedToken)) { return(true); } parsedToken = null; return(false); }
public override Task <IEnumerable <string> > GetPartitionKeyRangesAsync( FeedToken feedToken, CancellationToken cancellationToken = default(CancellationToken)) { return(TaskHelper.RunInlineIfNeededAsync(() => this.container.GetPartitionKeyRangesAsync(feedToken, cancellationToken))); }
public override FeedIterator <T> GetChangeFeedIterator <T>( FeedToken feedToken, ChangeFeedRequestOptions changeFeedRequestOptions = null) { return(this.container.GetChangeFeedIterator <T>(feedToken, changeFeedRequestOptions)); }