/// <summary> /// Creates an OrderByDocumentQueryExecutionContext /// </summary> /// <param name="constructorParams">The parameters for the base class constructor.</param> /// <param name="initParams">The parameters to initialize the base class.</param> /// <param name="token">The cancellation token.</param> /// <returns>A task to await on, which in turn creates an OrderByDocumentQueryExecutionContext.</returns> public static async Task <OrderByDocumentQueryExecutionContext> CreateAsync( DocumentQueryExecutionContextBase.InitParams constructorParams, CrossPartitionQueryExecutionContext.CrossPartitionInitParams initParams, CancellationToken token) { Debug.Assert( initParams.PartitionedQueryExecutionInfo.QueryInfo.HasOrderBy, "OrderBy~Context must have order by query info."); OrderByDocumentQueryExecutionContext context = new OrderByDocumentQueryExecutionContext( constructorParams, initParams.PartitionedQueryExecutionInfo.QueryInfo.RewrittenQuery, new OrderByConsumeComparer(initParams.PartitionedQueryExecutionInfo.QueryInfo.OrderBy)); await context.InitializeAsync( initParams.RequestContinuation, initParams.CollectionRid, initParams.PartitionKeyRanges, initParams.InitialPageSize, initParams.PartitionedQueryExecutionInfo.QueryInfo.OrderBy, initParams.PartitionedQueryExecutionInfo.QueryInfo.OrderByExpressions, token); return(context); }
public static async Task <OrderByDocumentQueryExecutionContext> CreateAsync( IDocumentQueryClient client, ResourceType resourceTypeEnum, Type resourceType, Expression expression, FeedOptions feedOptions, string resourceLink, string collectionRid, PartitionedQueryExecutionInfo partitionedQueryExecutionInfo, List <PartitionKeyRange> partitionKeyRanges, int initialPageSize, bool isContinuationExpected, bool getLazyFeedResponse, string requestContinuation, CancellationToken token, Guid correlatedActivityId) { Debug.Assert( partitionedQueryExecutionInfo.QueryInfo.HasOrderBy, "OrderBy~Context must have order by query info."); OrderByDocumentQueryExecutionContext context = new OrderByDocumentQueryExecutionContext( client, resourceTypeEnum, resourceType, expression, feedOptions, resourceLink, partitionedQueryExecutionInfo.QueryInfo.RewrittenQuery, isContinuationExpected, getLazyFeedResponse, new OrderByConsumeComparer(partitionedQueryExecutionInfo.QueryInfo.OrderBy), collectionRid, correlatedActivityId); await context.InitializeAsync( collectionRid, partitionedQueryExecutionInfo.QueryRanges, partitionKeyRanges, partitionedQueryExecutionInfo.QueryInfo.OrderBy, partitionedQueryExecutionInfo.QueryInfo.OrderByExpressions, initialPageSize, requestContinuation, token); return(context); }