pub enum PrunePredicate {
And(Vec<PrunePredicate>),
Or(Vec<PrunePredicate>),
Compare {
column: String,
op: PruneOp,
value: PruneValue,
},
In {
column: String,
values: Vec<PruneValue>,
},
Opaque,
}Expand description
Simplified predicate tree the planner hands to the pruner. Only
the shapes we can actually act on are named; anything else the
planner tags Opaque, which keeps every partition.
Variants§
And(Vec<PrunePredicate>)
Or(Vec<PrunePredicate>)
Compare
column op value.
In
column IN (v1, v2, …).
Opaque
Something we can’t interpret. Acts as “every row possibly matches” for pruning purposes.
Trait Implementations§
Source§impl Clone for PrunePredicate
impl Clone for PrunePredicate
Source§fn clone(&self) -> PrunePredicate
fn clone(&self) -> PrunePredicate
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 PrunePredicate
impl RefUnwindSafe for PrunePredicate
impl Send for PrunePredicate
impl Sync for PrunePredicate
impl Unpin for PrunePredicate
impl UnsafeUnpin for PrunePredicate
impl UnwindSafe for PrunePredicate
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,
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request