public override void RetrieveResults(out ITableResults resTable, out GroupByResults groupByResults) { groupByResults = null; if (this.sortJobs != null) { resTable = new TableResultsABTreeAccum((ABTreeValueAccumulator <int>) this.sortJobs[0].tree, this.sortJobs[0].resTable); } else { resTable = new MultiTableResultsRowProxyAccum(this.mergeJob.GetTablesOfSortedJobs(), this.mergedResults); } }
public override void RetrieveResults(out ITableResults resTable, out GroupByResults groupByResults) { groupByResults = null; if (this.executionHelper.ThreadCount == 1) { resTable = new TableResultsABTreeAccum((ABTreeValueAccumulator <int>) this.rangeBuckets[0].tree, this.rangeBuckets[0].resTable); } else { TableResultsABTreeAccum[] tmpResults = new TableResultsABTreeAccum[this.rangeBuckets.Length]; for (int i = 0; i < this.rangeBuckets.Length; i++) { tmpResults[i] = (new TableResultsABTreeAccum((ABTreeValueAccumulator <int>) this.rangeBuckets[i].tree, this.rangeBuckets[i].resTable)); } resTable = new MultiTableResultsABTree(tmpResults, this.firstKeyComparers[0].isAscending); } }