Struct mz_dataflow_types::plan::join::linear_join::LinearJoinPlan
source · [−]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 collection. 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
sourceimpl LinearJoinPlan
impl LinearJoinPlan
sourcepub 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
sourceimpl Arbitrary for LinearJoinPlan
impl Arbitrary for LinearJoinPlan
type Parameters = ()
type Parameters = ()
The type of parameters that arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
. Read more
type Strategy = BoxedStrategy<Self>
type Strategy = BoxedStrategy<Self>
sourcefn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
sourceimpl Clone for LinearJoinPlan
impl Clone for LinearJoinPlan
sourcefn clone(&self) -> LinearJoinPlan
fn clone(&self) -> LinearJoinPlan
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for LinearJoinPlan
impl Debug for LinearJoinPlan
sourceimpl<'de> Deserialize<'de> for LinearJoinPlan
impl<'de> Deserialize<'de> for LinearJoinPlan
sourcefn 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
sourceimpl PartialEq<LinearJoinPlan> for LinearJoinPlan
impl PartialEq<LinearJoinPlan> for LinearJoinPlan
sourcefn eq(&self, other: &LinearJoinPlan) -> bool
fn eq(&self, other: &LinearJoinPlan) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &LinearJoinPlan) -> bool
fn ne(&self, other: &LinearJoinPlan) -> bool
This method tests for !=
.
sourceimpl RustType<ProtoLinearJoinPlan> for LinearJoinPlan
impl RustType<ProtoLinearJoinPlan> for LinearJoinPlan
sourcefn into_proto(&self) -> ProtoLinearJoinPlan
fn into_proto(&self) -> ProtoLinearJoinPlan
Convert a Self
into a Proto
value.
sourcefn from_proto(proto: ProtoLinearJoinPlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoLinearJoinPlan) -> Result<Self, TryFromProtoError>
Consume and convert a Proto
back into a Self
value. Read more
sourceimpl Serialize for LinearJoinPlan
impl Serialize for LinearJoinPlan
impl Eq for LinearJoinPlan
impl StructuralEq for LinearJoinPlan
impl StructuralPartialEq for LinearJoinPlan
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
impl<T> ProgressEventTimestamp for T where
T: Data + Debug + Any,
sourceimpl<P, R> ProtoType<R> for P where
R: RustType<P>,
impl<P, R> ProtoType<R> for P where
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See RustType::from_proto
.
sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See RustType::into_proto
.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more