Enum mz_expr::func::VariadicFunc
source · [−]pub enum VariadicFunc {
Show 26 variants
Coalesce,
Greatest,
Least,
Concat,
MakeTimestamp,
PadLeading,
Substr,
Replace,
JsonbBuildArray,
JsonbBuildObject,
ArrayCreate {
elem_type: ScalarType,
},
ArrayToString {
elem_type: ScalarType,
},
ArrayIndex {
offset: usize,
},
ListCreate {
elem_type: ScalarType,
},
RecordCreate {
field_names: Vec<ColumnName>,
},
ListIndex,
ListSliceLinear,
SplitPart,
RegexpMatch,
HmacString,
HmacBytes,
ErrorIfNull,
DateBinTimestamp,
DateBinTimestampTz,
And,
Or,
}
Variants
Coalesce
Greatest
Least
Concat
MakeTimestamp
PadLeading
Substr
Replace
JsonbBuildArray
JsonbBuildObject
ArrayCreate
Fields
elem_type: ScalarType
ArrayToString
Fields
elem_type: ScalarType
ArrayIndex
Fields
offset: usize
ListCreate
Fields
elem_type: ScalarType
RecordCreate
Fields
field_names: Vec<ColumnName>
ListIndex
ListSliceLinear
SplitPart
RegexpMatch
HmacString
HmacBytes
ErrorIfNull
DateBinTimestamp
DateBinTimestampTz
And
Or
Implementations
sourceimpl VariadicFunc
impl VariadicFunc
pub fn eval<'a>(
&'a self,
datums: &[Datum<'a>],
temp_storage: &'a RowArena,
exprs: &'a [MirScalarExpr]
) -> Result<Datum<'a>, EvalError>
pub fn output_type(&self, input_types: Vec<ColumnType>) -> ColumnType
sourcepub fn propagates_nulls(&self) -> bool
pub fn propagates_nulls(&self) -> bool
Whether the function output is NULL if any of its inputs are NULL.
sourcepub fn introduces_nulls(&self) -> bool
pub fn introduces_nulls(&self) -> bool
Whether the function might return NULL even if none of its inputs are NULL.
This is presently conservative, and may indicate that a function introduces nulls even when it does not.
pub fn switch_and_or(&self) -> Self
pub fn is_infix_op(&self) -> bool
sourcepub fn unit_of_and_or(&self) -> MirScalarExpr
pub fn unit_of_and_or(&self) -> MirScalarExpr
Gives the unit (u) of OR or AND, such that u AND/OR x == x
.
Note that a 0-arg AND/OR evaluates to unit_of_and_or.
sourcepub fn zero_of_and_or(&self) -> MirScalarExpr
pub fn zero_of_and_or(&self) -> MirScalarExpr
Gives the zero (z) of OR or AND, such that z AND/OR x == z
.
Trait Implementations
sourceimpl Arbitrary for VariadicFunc
impl Arbitrary for VariadicFunc
An explicit Arbitrary
implementation needed here because of a known
proptest
issue.
Revert to the derive-macro impementation once the issue1 is fixed.
type Parameters = ()
type Parameters = ()
The type of parameters that arbitrary_with
accepts for configuration
of the generated Strategy
. Parameters must implement Default
. Read more
type Strategy = Union<BoxedStrategy<VariadicFunc>>
type Strategy = Union<BoxedStrategy<VariadicFunc>>
sourcefn arbitrary_with(_: Self::Parameters) -> Self::Strategy
fn arbitrary_with(_: Self::Parameters) -> Self::Strategy
sourceimpl Clone for VariadicFunc
impl Clone for VariadicFunc
sourcefn clone(&self) -> VariadicFunc
fn clone(&self) -> VariadicFunc
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl Debug for VariadicFunc
impl Debug for VariadicFunc
sourceimpl<'de> Deserialize<'de> for VariadicFunc
impl<'de> Deserialize<'de> for VariadicFunc
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Display for VariadicFunc
impl Display for VariadicFunc
sourceimpl Hash for VariadicFunc
impl Hash for VariadicFunc
sourceimpl MzReflect for VariadicFunc
impl MzReflect for VariadicFunc
sourcefn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
fn add_to_reflected_type_info(rti: &mut ReflectedTypeInfo)
Adds names and types of the fields of the struct or enum to rti
. Read more
sourceimpl Ord for VariadicFunc
impl Ord for VariadicFunc
sourceimpl PartialEq<VariadicFunc> for VariadicFunc
impl PartialEq<VariadicFunc> for VariadicFunc
sourcefn eq(&self, other: &VariadicFunc) -> bool
fn eq(&self, other: &VariadicFunc) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &VariadicFunc) -> bool
fn ne(&self, other: &VariadicFunc) -> bool
This method tests for !=
.
sourceimpl PartialOrd<VariadicFunc> for VariadicFunc
impl PartialOrd<VariadicFunc> for VariadicFunc
sourcefn partial_cmp(&self, other: &VariadicFunc) -> Option<Ordering>
fn partial_cmp(&self, other: &VariadicFunc) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl Serialize for VariadicFunc
impl Serialize for VariadicFunc
impl Eq for VariadicFunc
impl StructuralEq for VariadicFunc
impl StructuralPartialEq for VariadicFunc
Auto Trait Implementations
impl RefUnwindSafe for VariadicFunc
impl Send for VariadicFunc
impl Sync for VariadicFunc
impl Unpin for VariadicFunc
impl UnwindSafe for VariadicFunc
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CallHasher for T where
T: Hash + ?Sized,
impl<T> CallHasher for T where
T: Hash + ?Sized,
sourceimpl<T> DisplayExt for T where
T: Display,
impl<T> DisplayExt for T where
T: Display,
sourcefn to_string_alt(&self) -> String
fn to_string_alt(&self) -> String
Formats an object with the “alternative” format ({:#}
) and returns it.
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> FutureExt for T
impl<T> FutureExt for T
sourcefn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
sourcefn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
sourcefn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message T
in a tonic::Request
sourceimpl<P, R> ProtoType<R> for P where
R: RustType<P>,
impl<P, R> ProtoType<R> for P where
R: RustType<P>,
sourcefn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See RustType::from_proto
.
sourcefn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See RustType::into_proto
.
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more