Skip to main content

InstantiationContext

Trait InstantiationContext 

Source
pub trait InstantiationContext {
    // Required methods
    fn collection_type(&self, id: GlobalId) -> Option<SqlRelationType>;
    fn index(&self, id: GlobalId) -> Option<IndexInfo>;
    fn materialized_view(&self, id: GlobalId) -> Option<MaterializedViewInfo>;
    fn metric_sink(&self, id: GlobalId) -> Option<MetricSinkInfo>;
    fn allocate_transient_id(&self) -> GlobalId;
}
Expand description

What PinnedDataflow::instantiate needs from its environment: catalog facts about the plan’s imports and exports, looked up by id, and fresh transient ids. Each lookup returns None when no item of that kind exists.

Required Methods§

Source

fn collection_type(&self, id: GlobalId) -> Option<SqlRelationType>

The relation type of the storage collection id, as the optimizer imports it.

Source

fn index(&self, id: GlobalId) -> Option<IndexInfo>

The index under id.

Source

fn materialized_view(&self, id: GlobalId) -> Option<MaterializedViewInfo>

The materialized view whose sink is exported under id.

Source

fn metric_sink(&self, id: GlobalId) -> Option<MetricSinkInfo>

The metric sink exported under id.

Source

fn allocate_transient_id(&self) -> GlobalId

A transient id no other dataflow in this process uses.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§