Skip to main content

build_upsert_operator

Function build_upsert_operator 

Source
fn build_upsert_operator<'scope, A, T, FromTime>(
    input: VecCollection<'scope, T, (UpsertKey, Option<UpsertValue>, FromTime), Diff>,
    resume_upper: Antichain<T>,
    persist_arranged: Arranged<'scope, TraceAgent<A::Spine>>,
    persist_token: Option<Vec<PressOnDropButton>>,
    upsert_metrics: UpsertMetrics,
    source_config: SourceExportCreationConfig,
) -> (VecCollection<'scope, T, Result<Row, DataflowError>, Diff>, StreamVec<'scope, T, (Option<GlobalId>, HealthStatusUpdate)>, StreamVec<'scope, T, Infallible>, PressOnDropButton)
where A: UpsertStashArm<T, FromTime::Order>, T: Timestamp + TotalOrder + Sync + Refines<Timestamp> + Lattice + Columnation + Columnar + Default, for<'a> Ref<'a, T>: Copy + Ord, FromTime: Debug + ExchangeData + Clone + Ord + Sync + UpsertSourceTime,
Expand description

The flavor-independent upsert-v2 operator loop, generic over an UpsertStashArm.

Consumes the source input and the arranged persist feedback (constructed per flavor by upsert_inner) and drives the ingest / seal / drain / capability loop described in the module docs, calling through the arm at the few points where the flavors diverge.