pub struct LiquidPredicate { /* private fields */ }Expand description
A “compiled” predicate passed to ParquetRecordBatchStream to perform
row-level filtering during parquet decoding.
See the module level documentation for more information.
Implements the ArrowPredicate trait used by the parquet decoder
An expression can be evaluated as a DatafusionArrowPredicate if it:
- Does not reference any projected columns
- Does not reference columns with non-primitive types (e.g. structs / lists)
Implementations§
Source§impl LiquidPredicate
impl LiquidPredicate
Sourcepub fn try_new_with_metrics(
candidate: FilterCandidate,
projection: ProjectionMask,
rows_pruned: Count,
rows_matched: Count,
time: Time,
) -> Result<Self>
pub fn try_new_with_metrics( candidate: FilterCandidate, projection: ProjectionMask, rows_pruned: Count, rows_matched: Count, time: Time, ) -> Result<Self>
Create a new LiquidPredicate from a FilterCandidate
Sourcepub fn try_new(
candidate: FilterCandidate,
projection: ProjectionMask,
) -> Result<Self>
pub fn try_new( candidate: FilterCandidate, projection: ProjectionMask, ) -> Result<Self>
Create a new LiquidPredicate from a FilterCandidate
Sourcepub fn physical_expr_physical_column_index(&self) -> &Arc<dyn PhysicalExpr>
pub fn physical_expr_physical_column_index(&self) -> &Arc<dyn PhysicalExpr>
Get the physical expression with physical column index.
Sourcepub fn predicate_column_ids(&self) -> Vec<usize>
pub fn predicate_column_ids(&self) -> Vec<usize>
Get the column ids of the predicate.
Trait Implementations§
Source§impl ArrowPredicate for LiquidPredicate
impl ArrowPredicate for LiquidPredicate
Source§fn projection(&self) -> &ProjectionMask
fn projection(&self) -> &ProjectionMask
Returns the
ProjectionMask that describes the columns required
to evaluate this predicate. Read moreSource§fn evaluate(&mut self, batch: RecordBatch) -> ArrowResult<BooleanArray>
fn evaluate(&mut self, batch: RecordBatch) -> ArrowResult<BooleanArray>
Evaluate this predicate for the given
RecordBatch containing the columns
identified by Self::projection Read moreSource§impl Clone for LiquidPredicate
impl Clone for LiquidPredicate
Source§fn clone(&self) -> LiquidPredicate
fn clone(&self) -> LiquidPredicate
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 LiquidPredicate
impl Debug for LiquidPredicate
Auto Trait Implementations§
impl Freeze for LiquidPredicate
impl !RefUnwindSafe for LiquidPredicate
impl Send for LiquidPredicate
impl Sync for LiquidPredicate
impl Unpin for LiquidPredicate
impl !UnwindSafe for LiquidPredicate
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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.