pub struct JoinReorder {
pub model: Arc<CostModel>,
pub dp_threshold: usize,
}Expand description
Cost-based join reordering pass.
Uses DPccp (bottom-up DP over connected subsets) for ≤ dp_threshold atoms
and GOO (greedy ordering optimisation) above that threshold.
Fields§
§model: Arc<CostModel>The cost model used to estimate scan and join costs.
dp_threshold: usizeMaximum number of atoms for the DPccp algorithm; above this, GOO is used.
Implementations§
Trait Implementations§
Source§impl OptPass for JoinReorder
impl OptPass for JoinReorder
Source§fn apply(&self, plan: LogicalPlan) -> LogicalPlan
fn apply(&self, plan: LogicalPlan) -> LogicalPlan
Apply the rewrite to
plan, returning the (possibly modified) plan.Auto Trait Implementations§
impl Freeze for JoinReorder
impl RefUnwindSafe for JoinReorder
impl Send for JoinReorder
impl Sync for JoinReorder
impl Unpin for JoinReorder
impl UnsafeUnpin for JoinReorder
impl UnwindSafe for JoinReorder
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