Struct mz_dataflow_types::plan::join::linear_join::LinearStagePlan
source · [−]pub struct LinearStagePlan {
pub lookup_relation: usize,
pub stream_key: Vec<MirScalarExpr>,
pub stream_thinning: Vec<usize>,
pub lookup_key: Vec<MirScalarExpr>,
pub closure: JoinClosure,
}
Expand description
A plan for the execution of one stage of a linear join.
Each stage is a binary join between the current accumulated join results, and a new collection. The former is referred to as the “stream” and the latter the “lookup”.
Fields
lookup_relation: usize
The relation index into which we will look up.
stream_key: Vec<MirScalarExpr>
The key expressions to use for the streamed relation.
While this starts as a stream of the source relation, it evolves through multiple lookups and ceases to be the same thing, hence the different name.
stream_thinning: Vec<usize>
The thinning expression to use to remove redundant value columns when arranging the stream.
lookup_key: Vec<MirScalarExpr>
The key expressions to use for the lookup relation.
closure: JoinClosure
The closure to apply to the concatenation of columns of the stream and lookup relations.
Trait Implementations
sourceimpl Arbitrary for LinearStagePlan
impl Arbitrary for LinearStagePlan
type Parameters = (<usize as Arbitrary>::Parameters, <Vec<MirScalarExpr> as Arbitrary>::Parameters, <Vec<usize> as Arbitrary>::Parameters, <Vec<MirScalarExpr> as Arbitrary>::Parameters, <JoinClosure as Arbitrary>::Parameters)
type Parameters = (<usize as Arbitrary>::Parameters, <Vec<MirScalarExpr> as Arbitrary>::Parameters, <Vec<usize> as Arbitrary>::Parameters, <Vec<MirScalarExpr> as Arbitrary>::Parameters, <JoinClosure as Arbitrary>::Parameters)
The type of parameters that arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
. Read more
type Strategy = Map<(<usize as Arbitrary>::Strategy, <Vec<MirScalarExpr> as Arbitrary>::Strategy, <Vec<usize> as Arbitrary>::Strategy, <Vec<MirScalarExpr> as Arbitrary>::Strategy, <JoinClosure as Arbitrary>::Strategy), fn(_: (usize, Vec<MirScalarExpr>, Vec<usize>, Vec<MirScalarExpr>, JoinClosure)) -> Self>
type Strategy = Map<(<usize as Arbitrary>::Strategy, <Vec<MirScalarExpr> as Arbitrary>::Strategy, <Vec<usize> as Arbitrary>::Strategy, <Vec<MirScalarExpr> as Arbitrary>::Strategy, <JoinClosure as Arbitrary>::Strategy), fn(_: (usize, Vec<MirScalarExpr>, Vec<usize>, Vec<MirScalarExpr>, JoinClosure)) -> Self>
sourcefn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_top: Self::Parameters) -> Self::Strategy
sourceimpl Clone for LinearStagePlan
impl Clone for LinearStagePlan
sourcefn clone(&self) -> LinearStagePlan
fn clone(&self) -> LinearStagePlan
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 LinearStagePlan
impl Debug for LinearStagePlan
sourceimpl<'de> Deserialize<'de> for LinearStagePlan
impl<'de> Deserialize<'de> for LinearStagePlan
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<LinearStagePlan> for LinearStagePlan
impl PartialEq<LinearStagePlan> for LinearStagePlan
sourcefn eq(&self, other: &LinearStagePlan) -> bool
fn eq(&self, other: &LinearStagePlan) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &LinearStagePlan) -> bool
fn ne(&self, other: &LinearStagePlan) -> bool
This method tests for !=
.
sourceimpl RustType<ProtoLinearStagePlan> for LinearStagePlan
impl RustType<ProtoLinearStagePlan> for LinearStagePlan
sourcefn into_proto(&self) -> ProtoLinearStagePlan
fn into_proto(&self) -> ProtoLinearStagePlan
Convert a Self
into a Proto
value.
sourcefn from_proto(proto: ProtoLinearStagePlan) -> Result<Self, TryFromProtoError>
fn from_proto(proto: ProtoLinearStagePlan) -> Result<Self, TryFromProtoError>
Consume and convert a Proto
back into a Self
value. Read more
sourceimpl Serialize for LinearStagePlan
impl Serialize for LinearStagePlan
impl Eq for LinearStagePlan
impl StructuralEq for LinearStagePlan
impl StructuralPartialEq for LinearStagePlan
Auto Trait Implementations
impl RefUnwindSafe for LinearStagePlan
impl Send for LinearStagePlan
impl Sync for LinearStagePlan
impl Unpin for LinearStagePlan
impl UnwindSafe for LinearStagePlan
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