pub struct MergeExpr { /* private fields */ }Expand description
Merge zero or more expressions that ALL return structs.
If any field names are duplicated, the field from later expressions wins.
NOTE: Fields are not recursively merged, i.e. the later field REPLACES the earlier field. This makes struct fields behaviour consistent with other dtypes.
Implementations§
Source§impl MergeExpr
impl MergeExpr
pub fn new(values: Vec<ExprRef>, nullability: Nullability) -> Self
pub fn new_expr(values: Vec<ExprRef>, nullability: Nullability) -> ExprRef
pub fn nullability(&self) -> Nullability
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 MergeExpr
impl AnalysisExpr for MergeExpr
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 MergeExpr
impl AsRef<dyn VortexExpr> for MergeExpr
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.
impl Eq for MergeExpr
impl StructuralPartialEq for MergeExpr
Auto Trait Implementations§
impl Freeze for MergeExpr
impl !RefUnwindSafe for MergeExpr
impl Send for MergeExpr
impl Sync for MergeExpr
impl Unpin for MergeExpr
impl !UnwindSafe for MergeExpr
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