Struct dataflow_types::plan::join::linear_join::LinearJoinPlan [−][src]
pub struct LinearJoinPlan {
pub source_relation: usize,
pub source_key: Option<Vec<MirScalarExpr>>,
pub initial_closure: Option<JoinClosure>,
pub stage_plans: Vec<LinearStagePlan>,
pub final_closure: Option<JoinClosure>,
}
Expand description
A plan for the execution of a linear join.
A linear join is a sequence of stages, each of which introduces a new collecion. Each stage is represented by a LinearStagePlan.
Fields
source_relation: usize
The source relation from which we start the join.
source_key: Option<Vec<MirScalarExpr>>
The arrangement to use for the source relation, if any
initial_closure: Option<JoinClosure>
An initial closure to apply before any stages.
Values of None
indicate the identity closure.
stage_plans: Vec<LinearStagePlan>
A sequence of stages to apply one after the other.
final_closure: Option<JoinClosure>
A concluding closure to apply after the last stage.
Values of None
indicate the identity closure.
Implementations
pub fn create_from(
source_relation: usize,
source_arrangement: Option<&(Vec<MirScalarExpr>, HashMap<usize, usize>, Vec<usize>)>,
equivalences: &[Vec<MirScalarExpr>],
join_order: &[(usize, Vec<MirScalarExpr>)],
input_mapper: JoinInputMapper,
mfp_above: &mut MapFilterProject,
available: &[AvailableCollections]
) -> (Self, Vec<AvailableCollections>)
pub fn create_from(
source_relation: usize,
source_arrangement: Option<&(Vec<MirScalarExpr>, HashMap<usize, usize>, Vec<usize>)>,
equivalences: &[Vec<MirScalarExpr>],
join_order: &[(usize, Vec<MirScalarExpr>)],
input_mapper: JoinInputMapper,
mfp_above: &mut MapFilterProject,
available: &[AvailableCollections]
) -> (Self, Vec<AvailableCollections>)
Create a new join plan from the required arguments.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for LinearJoinPlan
impl Send for LinearJoinPlan
impl Sync for LinearJoinPlan
impl Unpin for LinearJoinPlan
impl UnwindSafe for LinearJoinPlan
Blanket Implementations
Mutably borrows from an owned value. Read more
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