Function mz_storage::render::sources::render_source

source ·
pub fn render_source<'g, G, C>(
    scope: &mut Child<'g, G, Timestamp>,
    dataflow_debug_name: &String,
    id: GlobalId,
    connection: C,
    description: IngestionDescription<CollectionMetadata>,
    as_of: Antichain<Timestamp>,
    resume_uppers: BTreeMap<GlobalId, Antichain<Timestamp>>,
    source_resume_uppers: BTreeMap<GlobalId, Vec<Row>>,
    resume_stream: &Stream<Child<'g, G, Timestamp>, ()>,
    storage_state: &StorageState
) -> (Vec<(Collection<Child<'g, G, Timestamp>, Row, Diff>, Collection<Child<'g, G, Timestamp>, DataflowError, Diff>)>, Stream<G, HealthStatusMessage>, Vec<PressOnDropButton>)
where G: Scope<Timestamp = ()>, C: SourceConnection + SourceRender + 'static,
Expand description

Renders complete differential Collections that represent the final source and its errors as requested by the original CREATE SOURCE statement, encapsulated in the passed SourceInstanceDesc.

The first element in the returned tuple is the pair of Collections, the second is a type-erased token that will keep the source alive as long as it is not dropped.

This function is intended to implement the recipe described here: https://github.com/MaterializeInc/materialize/blob/main/doc/developer/platform/architecture-storage.md#source-ingestion