Struct mz_expr::interpret::SpecialUnary
source · struct SpecialUnary {
map_fn: for<'a, 'b> fn(_: &'b ColumnSpecs<'a>, _: ResultSpec<'a>) -> ResultSpec<'a>,
pushdownable: bool,
}
Expand description
A unary function we’ve added special-case handling for; including:
- A three-argument function, taking and returning ResultSpecs. This overrides the default function-handling logic entirely.
- Metadata on whether / not this function is pushdownable. See Trace.
Fields§
§map_fn: for<'a, 'b> fn(_: &'b ColumnSpecs<'a>, _: ResultSpec<'a>) -> ResultSpec<'a>
§pushdownable: bool
Implementations§
source§impl SpecialUnary
impl SpecialUnary
sourcefn for_func(func: &UnaryFunc) -> Option<SpecialUnary>
fn for_func(func: &UnaryFunc) -> Option<SpecialUnary>
Returns the special-case handling for a particular function, if it exists.
Auto Trait Implementations§
impl Freeze for SpecialUnary
impl RefUnwindSafe for SpecialUnary
impl Send for SpecialUnary
impl Sync for SpecialUnary
impl Unpin for SpecialUnary
impl UnwindSafe for SpecialUnary
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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
See
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
See
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
The method of
std::ops::AddAssign
, for types that do not implement AddAssign
.