pub struct DynamicComparisonExpr { /* private fields */ }Expand description
A dynamic comparison expression can be used to capture a comparison to a value that can change during the execution of a query, such as when a compute engine pushes down an ORDER BY + LIMIT operation and is able to progressively tighten the bounds of the filter.
Implementations§
Methods from Deref<Target = dyn VortexExpr>§
pub fn id(&self) -> ExprId
pub fn is<V: VTable>(&self) -> bool
pub fn as_<V: VTable>(&self) -> &V::Expr
pub fn as_opt<V: VTable>(&self) -> Option<&V::Expr>
Sourcepub fn evaluate(&self, scope: &Scope) -> VortexResult<ArrayRef>
pub fn evaluate(&self, scope: &Scope) -> VortexResult<ArrayRef>
Compute result of expression on given batch producing a new batch
Trait Implementations§
Source§impl AnalysisExpr for DynamicComparisonExpr
impl AnalysisExpr for DynamicComparisonExpr
Source§fn stat_falsification(&self, catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
fn stat_falsification(&self, catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
An expression over zone-statistics which implies all records in the zone evaluate to false. Read more
Source§fn max(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
fn max(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
An expression for the upper non-null bound of this expression, if available. Read more
Source§fn min(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
fn min(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
An expression for the lower non-null bound of this expression, if available. Read more
Source§fn nan_count(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
fn nan_count(&self, _catalog: &mut dyn StatsCatalog) -> Option<ExprRef>
An expression for the NaN count for a column, if available. Read more
fn field_path(&self) -> Option<FieldPath>
Source§impl AsRef<dyn VortexExpr> for DynamicComparisonExpr
impl AsRef<dyn VortexExpr> for DynamicComparisonExpr
Source§fn as_ref(&self) -> &dyn VortexExpr
fn as_ref(&self) -> &dyn VortexExpr
Converts this type into a shared reference of the (usually inferred) input type.
Source§impl Clone for DynamicComparisonExpr
impl Clone for DynamicComparisonExpr
Source§fn clone(&self) -> DynamicComparisonExpr
fn clone(&self) -> DynamicComparisonExpr
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 DynamicComparisonExpr
impl Debug for DynamicComparisonExpr
Source§impl Deref for DynamicComparisonExpr
impl Deref for DynamicComparisonExpr
Source§impl Display for DynamicComparisonExpr
impl Display for DynamicComparisonExpr
Source§impl From<DynamicComparisonExpr> for ExprRef
impl From<DynamicComparisonExpr> for ExprRef
Source§fn from(value: DynamicComparisonExpr) -> ExprRef
fn from(value: DynamicComparisonExpr) -> ExprRef
Converts to this type from the input type.
Source§impl Hash for DynamicComparisonExpr
impl Hash for DynamicComparisonExpr
Source§impl IntoExpr for DynamicComparisonExpr
impl IntoExpr for DynamicComparisonExpr
Source§impl PartialEq for DynamicComparisonExpr
impl PartialEq for DynamicComparisonExpr
impl Eq for DynamicComparisonExpr
Auto Trait Implementations§
impl Freeze for DynamicComparisonExpr
impl !RefUnwindSafe for DynamicComparisonExpr
impl Send for DynamicComparisonExpr
impl Sync for DynamicComparisonExpr
impl Unpin for DynamicComparisonExpr
impl !UnwindSafe for DynamicComparisonExpr
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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