private TakeOrSkipQueryOperatorResults( QueryResults <TResult> childQueryResults, TakeOrSkipQueryOperator <TResult> takeOrSkipOp, QuerySettings settings, bool preferStriping) : base(childQueryResults, takeOrSkipOp, settings, preferStriping) { _takeOrSkipOp = takeOrSkipOp; Debug.Assert(_childQueryResults.IsIndexible); _childCount = _childQueryResults.ElementsCount; }
private readonly int _childCount; // The number of elements in child results public static QueryResults <TResult> NewResults( QueryResults <TResult> childQueryResults, TakeOrSkipQueryOperator <TResult> op, QuerySettings settings, bool preferStriping) { if (childQueryResults.IsIndexible) { return(new TakeOrSkipQueryOperatorResults( childQueryResults, op, settings, preferStriping)); } else { return(new UnaryQueryOperatorResults( childQueryResults, op, settings, preferStriping)); } }
private TakeOrSkipQueryOperatorResults(QueryResults <TResult> childQueryResults, TakeOrSkipQueryOperator <TResult> takeOrSkipOp, QuerySettings settings, bool preferStriping) : base(childQueryResults, takeOrSkipOp, settings, preferStriping) { this.m_takeOrSkipOp = takeOrSkipOp; this.m_childCount = base.m_childQueryResults.ElementsCount; }