Struct transform::join_implementation::Orderer [−][src]
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
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)>ⓘ
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> UnwindSafe for Orderer<'a>
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