Skip to main content

flat_map_datums

Function flat_map_datums 

Source
pub fn flat_map_datums<'scope, T, DCB, L>(
    edge: Collection<'scope, T, Column<(Row, T, Diff)>>,
    max_demand: usize,
    logic: L,
) -> (Stream<'scope, T, DCB::Container>, StreamVec<'scope, T, (DataflowErrorSer, T, Diff)>)
where T: RenderTimestamp, DCB: ContainerBuilder, L: for<'a> FnMut(&'a mut DatumVecBorrow<'_>, T, Diff, &mut Session<'_, '_, T, DCB, Capability<T>>, &mut Session<'_, '_, T, ConsolidatingContainerBuilder<Vec<(DataflowErrorSer, T, Diff)>>, Capability<T>>) -> usize + 'static,
Expand description

Applies logic to each record in edge, exposing the record as a borrowed DatumVecBorrow and giving it ok and err output sessions.

max_demand bounds the number of columns decoded per row. Pass usize::MAX to decode all columns.

This is the canonical entry point for “decoding consumers” (operators that read mz_repr::Datums from each row anyway). It iterates the columnar batch directly without going through an owned Row.