pub struct SubqueryOptimizer;Expand description
Pushes FILTER expressions inside subqueries when safe to do so.
A filter is “safe” to push down into an inner Select subquery when every
variable referenced by the filter is projected by (i.e. available from) the
inner subquery.
Implementations§
Source§impl SubqueryOptimizer
impl SubqueryOptimizer
Sourcepub fn optimize(&self, node: SubqueryNode) -> SubqueryNode
pub fn optimize(&self, node: SubqueryNode) -> SubqueryNode
Optimize node by pushing filters inward.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SubqueryOptimizer
impl RefUnwindSafe for SubqueryOptimizer
impl Send for SubqueryOptimizer
impl Sync for SubqueryOptimizer
impl Unpin for SubqueryOptimizer
impl UnsafeUnpin for SubqueryOptimizer
impl UnwindSafe for SubqueryOptimizer
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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