pub struct FilePruner { /* private fields */ }Expand description
Prune based on file-level statistics.
Note: Partition column pruning is handled earlier via replace_columns_with_literals
which substitutes partition column references with their literal values before
the predicate reaches this pruner.
Implementations§
Source§impl FilePruner
impl FilePruner
pub fn new( predicate: Arc<dyn PhysicalExpr>, logical_file_schema: &SchemaRef, _partition_fields: Vec<FieldRef>, partitioned_file: PartitionedFile, predicate_creation_errors: Count, ) -> Result<Self>
👎Deprecated since 52.0.0: Use
try_new instead which returns None if no statistics are availableSourcepub fn try_new(
predicate: Arc<dyn PhysicalExpr>,
file_schema: &SchemaRef,
partitioned_file: &PartitionedFile,
predicate_creation_errors: Count,
) -> Option<Self>
pub fn try_new( predicate: Arc<dyn PhysicalExpr>, file_schema: &SchemaRef, partitioned_file: &PartitionedFile, predicate_creation_errors: Count, ) -> Option<Self>
Create a new file pruner if statistics are available. Returns None if this file does not have statistics.
pub fn should_prune(&mut self) -> Result<bool>
Auto Trait Implementations§
impl Freeze for FilePruner
impl !RefUnwindSafe for FilePruner
impl Send for FilePruner
impl Sync for FilePruner
impl Unpin for FilePruner
impl UnsafeUnpin for FilePruner
impl !UnwindSafe for FilePruner
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> 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