Function dataflow::render::upsert::upsert[][src]

pub(crate) fn upsert<G>(
    source_name: &str,
    stream: &Stream<G, DecodeResult>,
    as_of_frontier: Antichain<Timestamp>,
    operators: &mut Option<LinearOperator>,
    key_arity: usize,
    source_arity: usize,
    persist_config: Option<PersistentUpsertConfig<Result<Row, DecodeError>, Result<Row, DecodeError>>>
) -> (Stream<G, (Row, Timestamp, Diff)>, Stream<G, (DataflowError, Timestamp, Diff)>) where
    G: Scope<Timestamp = Timestamp>, 
Expand description

Entrypoint to the upsert-specific transformations involved in rendering a stream that came from an upsert source. Upsert-specific operators are different from the rest of the rendering pipeline in that their input is a stream with two components instead of one, and the second component can be null or empty.

When persist_config is Some this will write upsert state to the configured persistent collection and restore state from it. This does now, however, seal the backing collection. It is the responsibility of the caller to ensure that the collection is sealed up.