pub struct JoinOrderOptimizer {
pub cost_estimator: CostEstimator,
}Expand description
Determines an optimal join ordering using DPccp.
Fields§
§cost_estimator: CostEstimatorImplementations§
Source§impl JoinOrderOptimizer
impl JoinOrderOptimizer
pub fn new() -> Self
pub fn with_cost_estimator(self, est: CostEstimator) -> Self
Sourcepub fn optimize(
&self,
relations: Vec<JoinRelation>,
predicates: Vec<JoinPredicate>,
) -> JoinGraphResult<JoinOrderResult>
pub fn optimize( &self, relations: Vec<JoinRelation>, predicates: Vec<JoinPredicate>, ) -> JoinGraphResult<JoinOrderResult>
Find the optimal join order and build the operator tree.
Trait Implementations§
Source§impl Clone for JoinOrderOptimizer
impl Clone for JoinOrderOptimizer
Source§fn clone(&self) -> JoinOrderOptimizer
fn clone(&self) -> JoinOrderOptimizer
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for JoinOrderOptimizer
impl Debug for JoinOrderOptimizer
Source§impl Default for JoinOrderOptimizer
impl Default for JoinOrderOptimizer
Source§fn default() -> JoinOrderOptimizer
fn default() -> JoinOrderOptimizer
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for JoinOrderOptimizer
impl RefUnwindSafe for JoinOrderOptimizer
impl Send for JoinOrderOptimizer
impl Sync for JoinOrderOptimizer
impl Unpin for JoinOrderOptimizer
impl UnsafeUnpin for JoinOrderOptimizer
impl UnwindSafe for JoinOrderOptimizer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more