pub struct LogicalOptimizer {
pub rules: Vec<Arc<dyn LogicalOptimizerRule + Send + Sync>>,
pub max_passes: usize,
}Fields§
§rules: Vec<Arc<dyn LogicalOptimizerRule + Send + Sync>>All optimizer rules to apply
max_passes: usizeImplementations§
Source§impl LogicalOptimizer
impl LogicalOptimizer
pub fn new() -> Self
pub fn with_rules( rules: Vec<Arc<dyn LogicalOptimizerRule + Send + Sync>>, ) -> Self
pub fn optimize(&self, plan: &LogicalPlan) -> QuillSQLResult<LogicalPlan>
pub fn optimize_recursively( &self, rule: &Arc<dyn LogicalOptimizerRule + Send + Sync>, plan: &LogicalPlan, ) -> QuillSQLResult<Option<LogicalPlan>>
Trait Implementations§
Source§impl Clone for LogicalOptimizer
impl Clone for LogicalOptimizer
Source§fn clone(&self) -> LogicalOptimizer
fn clone(&self) -> LogicalOptimizer
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 moreAuto Trait Implementations§
impl Freeze for LogicalOptimizer
impl !RefUnwindSafe for LogicalOptimizer
impl Send for LogicalOptimizer
impl Sync for LogicalOptimizer
impl Unpin for LogicalOptimizer
impl UnsafeUnpin for LogicalOptimizer
impl !UnwindSafe for LogicalOptimizer
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