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 copy 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<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