pub struct ScanPredicate {
pub predicate: Arc<dyn PhysicalExpr>,
pub live_columns: Arc<PlIndexSet<PlSmallStr>>,
pub skip_batch_predicate: Option<Arc<dyn PhysicalExpr>>,
pub column_predicates: PhysicalColumnPredicates,
pub hive_predicate: Option<Arc<dyn PhysicalExpr>>,
pub hive_predicate_is_full_predicate: bool,
}Expand description
All the expressions and metadata used to filter out rows using predicates.
Fields§
§predicate: Arc<dyn PhysicalExpr>§live_columns: Arc<PlIndexSet<PlSmallStr>>Column names that are used in the predicate.
skip_batch_predicate: Option<Arc<dyn PhysicalExpr>>A predicate expression used to skip record batches based on its statistics.
This expression will be given a batch size along with a min, max and null count for
each live column (set to null when it is not known) and the expression evaluates to
true if the whole batch can for sure be skipped. This may be conservative and evaluate to
false even when the batch could theoretically be skipped.
column_predicates: PhysicalColumnPredicatesPartial predicates for each column for filter when loading columnar formats.
hive_predicate: Option<Arc<dyn PhysicalExpr>>Predicate only referring to hive columns.
hive_predicate_is_full_predicate: boolImplementations§
Source§impl ScanPredicate
impl ScanPredicate
pub fn with_constant_columns( &self, constant_columns: impl IntoIterator<Item = (PlSmallStr, Scalar)>, ) -> Self
pub fn to_io( &self, skip_batch_predicate: Option<&Arc<dyn SkipBatchPredicate>>, schema: SchemaRef, ) -> ScanIOPredicate
Trait Implementations§
Source§impl Clone for ScanPredicate
impl Clone for ScanPredicate
Source§fn clone(&self) -> ScanPredicate
fn clone(&self) -> ScanPredicate
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 moreAuto Trait Implementations§
impl Freeze for ScanPredicate
impl !RefUnwindSafe for ScanPredicate
impl Send for ScanPredicate
impl Sync for ScanPredicate
impl Unpin for ScanPredicate
impl !UnwindSafe for ScanPredicate
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> 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