Struct dataflow::render::context::Context[][src]

pub struct Context<S: Scope, V: Data, T> where
    T: Timestamp + Lattice,
    S::Timestamp: Lattice + Refines<T>, 
{ pub debug_name: String, pub dataflow_id: usize, pub as_of_frontier: Antichain<Timestamp>, pub bindings: BTreeMap<Id, CollectionBundle<S, V, T>>, }
Expand description

Dataflow-local collections and arrangements.

A context means to wrap available data assets and present them in an easy-to-use manner. These assets include dataflow-local collections and arrangements, as well as imported arrangements from outside the dataflow.

Context has two timestamp types, one from S::Timestamp and one from T, where the former must refine the latter. The former is the timestamp used by the scope in question, and the latter is the timestamp of imported traces. The two may be different in the case of regions or iteration.

Fields

debug_name: String

The debug name of the dataflow associated with this context.

dataflow_id: usize

The Timely ID of the dataflow associated with this context.

as_of_frontier: Antichain<Timestamp>

Indicates a frontier that can be used to compact input timestamps without affecting the results. We should apply it, to sources and imported traces, both because it improves performance, and because potentially incorrect results are visible in sinks.

bindings: BTreeMap<Id, CollectionBundle<S, V, T>>

Bindings of identifiers to collections.

Implementations

Creates a new empty Context.

Insert a collection bundle by an identifier.

This is expected to be used to install external collections (sources, indexes, other views), as well as for Let bindings of local collections.

Remove a collection bundle by an identifier.

The primary use of this method is uninstalling Let bindings.

Melds a collection bundle to whatever exists.

Look up a collection bundle by an identifier.

Renders relation_expr followed by map_filter_project if provided.

Renders MirRelationExpr:Join using dogs^3 delta query dataflows.

The join is followed by the application of map_filter_project, whose implementation will be pushed in to the join pipeline if at all possible.

Looks up the arrangement for the next input and joins it to the arranged version of the join of previous inputs. This is split into its own method to enable reuse of code with different types of prev_keyed.

Joins the arrangement for next_input to the arranged version of the join of previous inputs. This is split into its own method to enable reuse of code with different types of next_input.

Renders a MirRelationExpr::Reduce using various non-obvious techniques to minimize worst-case incremental update times and memory footprint.

Export the sink described by sink from the rendering context.

Renders a plan to a differential dataflow, producing the collection of results.

The return type reflects the uncertainty about the data representation, perhaps as a stream of data, perhaps as an arrangement, perhaps as a stream of batches.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Performs the conversion.

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more