pub struct ScanPredicate {
pub col_idx: usize,
pub op: PredicateOp,
pub value: f64,
}Expand description
A predicate on a single column for block-level pushdown.
Fields§
§col_idx: usizeColumn index in the schema.
op: PredicateOpThe comparison operation.
value: f64The threshold value (as f64 for uniform comparison against BlockStats).
Implementations§
Source§impl ScanPredicate
impl ScanPredicate
Sourcepub fn not_eq(col_idx: usize, value: f64) -> Self
pub fn not_eq(col_idx: usize, value: f64) -> Self
Create a predicate: column != value.
Named not_eq to avoid conflict with PartialEq::ne.
Sourcepub fn can_skip_block(&self, stats: &BlockStats) -> bool
pub fn can_skip_block(&self, stats: &BlockStats) -> bool
Whether a block can be entirely skipped based on its statistics.
Returns true if the block provably contains no matching rows.
Returns false if the block might contain matching rows (must scan).
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 UnsafeUnpin for ScanPredicate
impl UnwindSafe for ScanPredicate
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.