private IndexedSelectQueryOperatorResults( QueryResults <TInput> childQueryResults, IndexedSelectQueryOperator <TInput, TOutput> op, QuerySettings settings, bool preferStriping) : base(childQueryResults, op, settings, preferStriping) { _selectOp = op; Debug.Assert(_childQueryResults.IsIndexible); _childCount = _childQueryResults.ElementsCount; }
private readonly int _childCount; // The number of elements in child results public static QueryResults <TOutput> NewResults( QueryResults <TInput> childQueryResults, IndexedSelectQueryOperator <TInput, TOutput> op, QuerySettings settings, bool preferStriping) { if (childQueryResults.IsIndexible) { return(new IndexedSelectQueryOperatorResults( childQueryResults, op, settings, preferStriping)); } else { return(new UnaryQueryOperatorResults( childQueryResults, op, settings, preferStriping)); } }
private IndexedSelectQueryOperatorResults(QueryResults <TInput> childQueryResults, IndexedSelectQueryOperator <TInput, TOutput> op, QuerySettings settings, bool preferStriping) : base(childQueryResults, op, settings, preferStriping) { this.m_selectOp = op; this.m_childCount = base.m_childQueryResults.ElementsCount; }