pub enum TableProviderFilterPushDown {
Unsupported,
Inexact,
Exact,
}Expand description
Indicates how a filter expression is handled by
TableProvider::scan.
Filter expressions are boolean expressions used to reduce the number of
rows that are read from a table. Only rows that evaluate to true (“pass
the filter”) are returned. Rows that evaluate to false or NULL are
omitted.
Variants§
Unsupported
The filter cannot be used by the provider and will not be pushed down.
Inexact
The filter can be used, but the provider might still return some tuples that do not pass the filter.
In this case, DataFusion applies an additional Filter operation
after the scan to ensure all rows are filtered correctly.
Exact
The provider guarantees that it will omit only tuples which pass the filter.
In this case, DataFusion will not apply additional filtering.
Trait Implementations§
Source§impl Clone for TableProviderFilterPushDown
impl Clone for TableProviderFilterPushDown
Source§fn clone(&self) -> TableProviderFilterPushDown
fn clone(&self) -> TableProviderFilterPushDown
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for TableProviderFilterPushDown
impl Debug for TableProviderFilterPushDown
impl Eq for TableProviderFilterPushDown
impl StructuralPartialEq for TableProviderFilterPushDown
Auto Trait Implementations§
impl Freeze for TableProviderFilterPushDown
impl RefUnwindSafe for TableProviderFilterPushDown
impl Send for TableProviderFilterPushDown
impl Sync for TableProviderFilterPushDown
impl Unpin for TableProviderFilterPushDown
impl UnwindSafe for TableProviderFilterPushDown
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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