Skip to main content

drain_sealed_input_paged

Function drain_sealed_input_paged 

Source
async fn drain_sealed_input_paged<T, O>(
    sealed: Vec<Column<(UpsertKey, T, UpsertDiff<O>)>>,
    ineligible: &mut Vec<(UpsertKey, T, UpsertDiff<O>)>,
    output_handle: &AsyncOutputHandle<T, FueledBuilder<CapacityContainerBuilder<Vec<(UpsertValue, T, Diff)>>>>,
    output_cap: &Capability<T>,
    persist_upper: &Antichain<T>,
    trace: &mut TraceAgent<ValRowSpine<UpsertKey, T, Diff>>,
    worker_id: usize,
    source_id: GlobalId,
) -> DrainStats
Expand description

drain_sealed_input_chunked’s counterpart for the paged flavor, classifying entries the same way but reading prior state through a trace cursor.

The sealed chunks are already sorted and consolidated by the merge batcher, so the trace cursor walks forward through keys in order and seeks amortize. Entries are walked by reference rather than collecting the eligible set into an owned Vec, and eligible values are emitted straight from the column’s RowRef with no owned UpsertDiff copy. Only the re-stashed ineligible set is materialized.