Skip to main content

map_topk_key

Function map_topk_key 

Source
fn map_topk_key<'s, T, L>(
    edge: Collection<'s, T, Column<(Row, T, Diff)>>,
    name: &str,
    key: L,
) -> VecCollection<'s, T, (Row, Row), Diff>
where T: RenderTimestamp, L: FnMut(&[Datum<'_>], &Row) -> Row + 'static,
Expand description

Forms the (key, value) arrangement input the TopK stages consume.

key receives the borrowed datums of an input row and the owned row. The value is the full input row, because every TopK stage carries it through to its output.

The output is a VecCollection, since the TopK stages are Vec-based, so a Row is decoded per record. That saves the separate ColumnarToVec operator and its intermediate container, not the decode itself, which needs a columnar batcher to push borrowed rows into. The key is formed from the borrowed datums.