pub struct ExprBoundaries {
pub column: Column,
pub interval: Interval,
pub distinct_count: Precision<usize>,
}
Expand description
Represents the boundaries (e.g. min and max values) of a particular column
This is used range analysis of expressions, to determine if the expression
limits the value of particular columns (e.g. analyzing an expression such as
time < 50
would result in a boundary interval for time
having a max
value of 50
).
Fields§
§column: Column
§interval: Interval
Minimum and maximum values this expression can have.
distinct_count: Precision<usize>
Maximum number of distinct values this expression can produce, if known.
Implementations§
Source§impl ExprBoundaries
impl ExprBoundaries
Sourcepub fn try_from_column(
schema: &Schema,
col_stats: &ColumnStatistics,
col_index: usize,
) -> Result<Self>
pub fn try_from_column( schema: &Schema, col_stats: &ColumnStatistics, col_index: usize, ) -> Result<Self>
Create a new ExprBoundaries
object from column level statistics.
Sourcepub fn try_new_unbounded(schema: &Schema) -> Result<Vec<Self>>
pub fn try_new_unbounded(schema: &Schema) -> Result<Vec<Self>>
Create ExprBoundaries
that represent no known bounds for all the
columns in schema
Trait Implementations§
Source§impl Clone for ExprBoundaries
impl Clone for ExprBoundaries
Source§fn clone(&self) -> ExprBoundaries
fn clone(&self) -> ExprBoundaries
Returns a copy 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 ExprBoundaries
impl Debug for ExprBoundaries
Source§impl PartialEq for ExprBoundaries
impl PartialEq for ExprBoundaries
impl StructuralPartialEq for ExprBoundaries
Auto Trait Implementations§
impl Freeze for ExprBoundaries
impl !RefUnwindSafe for ExprBoundaries
impl Send for ExprBoundaries
impl Sync for ExprBoundaries
impl Unpin for ExprBoundaries
impl !UnwindSafe for ExprBoundaries
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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