Struct mz_transform::join_implementation::Orderer
source · [−]struct Orderer<'a> {Show 13 fields
inputs: usize,
equivalences: &'a [Vec<MirScalarExpr>],
arrangements: &'a [Vec<Vec<MirScalarExpr>>],
unique_keys: &'a [Vec<Vec<usize>>],
input_mapper: &'a JoinInputMapper,
reverse_equivalences: Vec<Vec<(usize, usize)>>,
unique_arrangement: Vec<Vec<bool>>,
order: Vec<(Characteristics, Vec<MirScalarExpr>, usize)>,
placed: Vec<bool>,
bound: Vec<Vec<MirScalarExpr>>,
equivalences_active: Vec<bool>,
arrangement_active: Vec<Vec<usize>>,
priority_queue: BinaryHeap<(Characteristics, Vec<MirScalarExpr>, usize)>,
}
Fields
inputs: usize
equivalences: &'a [Vec<MirScalarExpr>]
arrangements: &'a [Vec<Vec<MirScalarExpr>>]
unique_keys: &'a [Vec<Vec<usize>>]
input_mapper: &'a JoinInputMapper
reverse_equivalences: Vec<Vec<(usize, usize)>>
unique_arrangement: Vec<Vec<bool>>
order: Vec<(Characteristics, Vec<MirScalarExpr>, usize)>
placed: Vec<bool>
bound: Vec<Vec<MirScalarExpr>>
equivalences_active: Vec<bool>
arrangement_active: Vec<Vec<usize>>
priority_queue: BinaryHeap<(Characteristics, Vec<MirScalarExpr>, usize)>
Implementations
sourceimpl<'a> Orderer<'a>
impl<'a> Orderer<'a>
fn new(
equivalences: &'a [Vec<MirScalarExpr>],
arrangements: &'a [Vec<Vec<MirScalarExpr>>],
unique_keys: &'a [Vec<Vec<usize>>],
input_mapper: &'a JoinInputMapper
) -> Self
fn optimize_order_for(
&mut self,
start: usize
) -> Vec<(Characteristics, Vec<MirScalarExpr>, usize)>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourcefn order_input(&mut self, input: usize)
fn order_input(&mut self, input: usize)
Introduces a specific input and keys to the order, along with its characteristics.
This method places a next element in the order, and updates the associated state about other candidates, including which columns are now bound and which potential keys are available to consider (both arranged, and unarranged).
Auto Trait Implementations
impl<'a> RefUnwindSafe for Orderer<'a>
impl<'a> Send for Orderer<'a>
impl<'a> Sync for Orderer<'a>
impl<'a> Unpin for Orderer<'a>
impl<'a> UnwindSafe for Orderer<'a>
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<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> Pointable for T
impl<T> Pointable for T
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> 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