pub fn create_raw_source<'g, G: Scope<Timestamp = ()>, C>(
scope: &mut Child<'g, G, Timestamp>,
committed_upper: &Stream<Child<'g, G, Timestamp>, ()>,
config: RawSourceCreationConfig,
source_connection: C,
start_signal: impl Future<Output = ()> + 'static,
) -> (Vec<(GlobalId, Collection<Child<'g, G, Timestamp>, SourceOutput<C::Time>, Diff>, Collection<Child<'g, G, Timestamp>, DataflowError, Diff>, SourceExportDataConfig)>, Stream<G, HealthStatusMessage>, Vec<PressOnDropButton>)
Expand description
Creates a source dataflow operator graph from a source connection. The type of SourceConnection determines the type of connection that should be created.
This is also the place where reclocking (https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/20210714_reclocking.md) happens.
See the source
module docs for more details about how raw
sources are used.
The resume_stream
parameter will contain frontier updates whenever times are durably
recorded which allows the ingestion to release upstream resources.