pub struct ExpressionSimplifier<'a> { /* private fields */ }Expand description
Expression simplifier that applies optimization rules
Implementations§
Source§impl ExpressionSimplifier<'static>
impl ExpressionSimplifier<'static>
Source§impl<'a> ExpressionSimplifier<'a>
impl<'a> ExpressionSimplifier<'a>
Sourcepub fn with_registry(_function_registry: &'a FunctionRegistry) -> Self
pub fn with_registry(_function_registry: &'a FunctionRegistry) -> Self
Create a simplifier using the executor’s authoritative function registry.
Sourcepub fn was_simplified(&self) -> bool
pub fn was_simplified(&self) -> bool
Check if any simplifications were made in the last run
Sourcepub fn try_simplify(&mut self, expr: &Expression) -> Option<Expression>
pub fn try_simplify(&mut self, expr: &Expression) -> Option<Expression>
Simplify an expression, applying all optimization rules. Returns Some(simplified) if changes were made, None if expression is unchanged. This avoids cloning expressions that can’t be simplified (like EXISTS subqueries).
Sourcepub fn simplify(&mut self, expr: &Expression) -> Expression
pub fn simplify(&mut self, expr: &Expression) -> Expression
Simplify an expression, always returning an Expression. Use try_simplify() when you want to avoid cloning unchanged expressions.
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for ExpressionSimplifier<'a>
impl<'a> RefUnwindSafe for ExpressionSimplifier<'a>
impl<'a> Send for ExpressionSimplifier<'a>
impl<'a> Sync for ExpressionSimplifier<'a>
impl<'a> Unpin for ExpressionSimplifier<'a>
impl<'a> UnsafeUnpin for ExpressionSimplifier<'a>
impl<'a> UnwindSafe for ExpressionSimplifier<'a>
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