public IRowCursor CreateCursor(IChannelProvider provider, IRowCursor[] inputs) { Contracts.AssertValue(provider); int cthd = Interlocked.Exchange(ref _cthd, 0); provider.Check(cthd > 1, "Consolidator can only be used once"); provider.Check(Utils.Size(inputs) == cthd, "Unexpected number of cursors"); // ConsolidateGeneric does all the standard validity checks: all cursors non-null, // all have the same schema, all have the same active columns, and all active // column types are cachable. using (var ch = provider.Start("Consolidator")) { return(DataViewUtils.ConsolidateGeneric(provider, inputs, BatchSize)); } }
public IRowCursor CreateCursor(IChannelProvider provider, IRowCursor[] inputs) { return(DataViewUtils.ConsolidateGeneric(provider, inputs, _batchSize)); }