pub struct ZoneMapEntry {
pub min: Option<Value>,
pub max: Option<Value>,
pub null_count: u64,
pub row_count: u64,
pub bloom_filter: Option<BloomFilter>,
}Expand description
Statistics for a single chunk of property data.
The query optimizer uses these to skip chunks that can’t match a predicate.
For example, if max < 30 and the predicate is value > 50, skip the chunk.
Fields§
§min: Option<Value>Minimum value in the chunk (None if all nulls).
max: Option<Value>Maximum value in the chunk (None if all nulls).
null_count: u64Number of null values in the chunk.
row_count: u64Total number of values in the chunk.
bloom_filter: Option<BloomFilter>Optional Bloom filter for equality checks.
Implementations§
Source§impl ZoneMapEntry
impl ZoneMapEntry
Sourcepub fn with_min_max(
min: Value,
max: Value,
null_count: u64,
row_count: u64,
) -> Self
pub fn with_min_max( min: Value, max: Value, null_count: u64, row_count: u64, ) -> Self
Creates a zone map entry with min/max.
Sourcepub fn with_bloom_filter(self, filter: BloomFilter) -> Self
pub fn with_bloom_filter(self, filter: BloomFilter) -> Self
Sets the Bloom filter.
Sourcepub fn might_contain_equal(&self, value: &Value) -> bool
pub fn might_contain_equal(&self, value: &Value) -> bool
Checks if this chunk might contain values matching an equality predicate.
Returns true if the chunk might contain matches, false if it definitely doesn’t.
Sourcepub fn might_contain_less_than(&self, value: &Value, inclusive: bool) -> bool
pub fn might_contain_less_than(&self, value: &Value, inclusive: bool) -> bool
Checks if this chunk might contain values matching a less-than predicate.
Returns true if the chunk might contain matches, false if it definitely doesn’t.
Sourcepub fn might_contain_greater_than(&self, value: &Value, inclusive: bool) -> bool
pub fn might_contain_greater_than(&self, value: &Value, inclusive: bool) -> bool
Checks if this chunk might contain values matching a greater-than predicate.
Returns true if the chunk might contain matches, false if it definitely doesn’t.
Sourcepub fn might_contain_range(
&self,
lower: Option<&Value>,
upper: Option<&Value>,
lower_inclusive: bool,
upper_inclusive: bool,
) -> bool
pub fn might_contain_range( &self, lower: Option<&Value>, upper: Option<&Value>, lower_inclusive: bool, upper_inclusive: bool, ) -> bool
Checks if this chunk might contain values in a range.
Sourcepub fn might_contain_non_null(&self) -> bool
pub fn might_contain_non_null(&self) -> bool
Checks if this chunk might contain non-null values.
Sourcepub fn is_all_null(&self) -> bool
pub fn is_all_null(&self) -> bool
Checks if this chunk contains only null values.
Sourcepub fn null_fraction(&self) -> f64
pub fn null_fraction(&self) -> f64
Returns the null fraction.
Trait Implementations§
Source§impl Clone for ZoneMapEntry
impl Clone for ZoneMapEntry
Source§fn clone(&self) -> ZoneMapEntry
fn clone(&self) -> ZoneMapEntry
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ZoneMapEntry
impl Debug for ZoneMapEntry
Auto Trait Implementations§
impl Freeze for ZoneMapEntry
impl RefUnwindSafe for ZoneMapEntry
impl Send for ZoneMapEntry
impl Sync for ZoneMapEntry
impl Unpin for ZoneMapEntry
impl UnsafeUnpin for ZoneMapEntry
impl UnwindSafe for ZoneMapEntry
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
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>
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>
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