Skip to main content

LirDataflowDescription

Type Alias LirDataflowDescription 

Source
pub type LirDataflowDescription<S = ()> = DataflowDescription<LirRelationExpr, S, MfpPlan>;
Expand description

A dataflow lowered to LIR.

Its source operators are already planned. Rendering evaluates them as given, so lowering is the only place they are planned.

Aliased Type§

pub struct LirDataflowDescription<S = ()> {
    pub source_imports: BTreeMap<GlobalId, SourceImport<S, MfpPlan>>,
    pub index_imports: BTreeMap<GlobalId, IndexImport>,
    pub objects_to_build: Vec<BuildDesc<LirRelationExpr>>,
    pub index_exports: BTreeMap<GlobalId, (IndexDesc<MirScalarExpr>, ReprRelationType)>,
    pub sink_exports: BTreeMap<GlobalId, ComputeSinkDesc<S>>,
    pub as_of: Option<Antichain<Timestamp>>,
    pub until: Antichain<Timestamp>,
    pub initial_storage_as_of: Option<Antichain<Timestamp>>,
    pub refresh_schedule: Option<RefreshSchedule>,
    pub debug_name: String,
    pub time_dependence: Option<TimeDependence>,
}

Fields§

§source_imports: BTreeMap<GlobalId, SourceImport<S, MfpPlan>>

Sources instantiations made available to the dataflow pair with monotonicity information.

§index_imports: BTreeMap<GlobalId, IndexImport>

Indexes made available to the dataflow. (id of index, import)

§objects_to_build: Vec<BuildDesc<LirRelationExpr>>

Views and indexes to be built and stored in the local context. Objects must be built in the specific order, as there may be dependencies of later objects on prior identifiers.

§index_exports: BTreeMap<GlobalId, (IndexDesc<MirScalarExpr>, ReprRelationType)>

Indexes to be made available to be shared with other dataflows (id of new index, description of index, relationtype of base source/view/table)

§sink_exports: BTreeMap<GlobalId, ComputeSinkDesc<S>>

sinks to be created (id of new sink, description of sink)

§as_of: Option<Antichain<Timestamp>>

An optional frontier to which inputs should be advanced.

If this is set, it should override the default setting determined by the upper bound of since frontiers contributing to the dataflow. It is an error for this to be set to a frontier not beyond that default.

§until: Antichain<Timestamp>

Frontier beyond which the dataflow should not execute. Specifically, updates at times greater or equal to this frontier are suppressed. This is often set to as_of + 1 to enable “batch” computations. Note that frontier advancements might still happen to times that are after the until, only data is suppressed. (This is consistent with how frontier advancements can also happen before the as_of.)

§initial_storage_as_of: Option<Antichain<Timestamp>>

The initial as_of when the collection is first created. Filled only for materialized views. Note that this doesn’t change upon restarts.

§refresh_schedule: Option<RefreshSchedule>

The schedule of REFRESH materialized views.

§debug_name: String

Human-readable name

§time_dependence: Option<TimeDependence>

Description of how the dataflow’s progress relates to wall-clock time. None for unknown.

Implementations§

Source§

impl LirDataflowDescription

Source

pub fn check_invariants(&self) -> Result<(), String>

Check invariants expected to be true about DataflowDescriptions.

Trait Implementations§

Source§

impl<'a> Explain<'a> for LirDataflowDescription

Source§

type Context = ExplainContext<'a>

The type of the immutable context in which the explanation will be rendered.
Source§

type Text = ExplainMultiPlan<'a, LirRelationExpr>

The explanation type produced by a successful Explain::explain_text call.
Source§

type Json = ExplainMultiPlan<'a, LirRelationExpr>

The explanation type produced by a successful Explain::explain_json call.
Source§

type Dot = UnsupportedFormat

The explanation type produced by a successful Explain::explain_json call.
Source§

fn explain_text( &'a mut self, context: &'a Self::Context, ) -> Result<Self::Text, ExplainError>

Construct a Result::Ok of the Explain::Text format from the config and the context. Read more
Source§

fn explain_json( &'a mut self, context: &'a Self::Context, ) -> Result<Self::Text, ExplainError>

Construct a Result::Ok of the Explain::Json format from the config and the context. Read more
Source§

fn explain( &'a mut self, format: &'a ExplainFormat, context: &'a Self::Context, ) -> Result<String, ExplainError>

Explain an instance of Self within the given Explain::Context. Read more
Source§

fn explain_dot( &'a mut self, context: &'a Self::Context, ) -> Result<Self::Dot, ExplainError>

Construct a Result::Ok of the Explain::Dot format from the config and the context. Read more