pub enum BuiltinScalarFunction {
Show 47 variants Atan, Atan2, Acosh, Asinh, Atanh, Cbrt, Ceil, Coalesce, Cos, Cosh, Degrees, Exp, Factorial, Floor, Gcd, Lcm, Iszero, Ln, Log, Log10, Log2, Nanvl, Pi, Power, Radians, Round, Signum, Sin, Sinh, Sqrt, Trunc, Cot, Concat, ConcatWithSeparator, EndsWith, InitCap, Left, Lpad, Random, Reverse, Right, Rpad, Strpos, Substr, Translate, SubstrIndex, FindInSet,
}
Expand description

Enum of all built-in scalar functions

Variants§

§

Atan

atan

§

Atan2

atan2

§

Acosh

acosh

§

Asinh

asinh

§

Atanh

atanh

§

Cbrt

cbrt

§

Ceil

ceil

§

Coalesce

coalesce

§

Cos

cos

§

Cosh

cos

§

Degrees

degrees

§

Exp

exp

§

Factorial

factorial

§

Floor

floor

§

Gcd

gcd, Greatest common divisor

§

Lcm

lcm, Least common multiple

§

Iszero

iszero

§

Ln

ln, Natural logarithm

§

Log

log, same as log10

§

Log10

log10

§

Log2

log2

§

Nanvl

nanvl

§

Pi

pi

§

Power

power

§

Radians

radians

§

Round

round

§

Signum

signum

§

Sin

sin

§

Sinh

sinh

§

Sqrt

sqrt

§

Trunc

trunc

§

Cot

cot

§

Concat

concat

§

ConcatWithSeparator

concat_ws

§

EndsWith

ends_with

§

InitCap

initcap

§

Left

left

§

Lpad

lpad

§

Random

random

§

Reverse

reverse

§

Right

right

§

Rpad

rpad

§

Strpos

strpos

§

Substr

substr

§

Translate

translate

§

SubstrIndex

substr_index

§

FindInSet

find_in_set

Implementations§

source§

impl BuiltinScalarFunction

source

pub fn supports_zero_argument(&self) -> bool

👎Deprecated since 32.0.0: please use TypeSignature::supports_zero_argument instead

an allowlist of functions to take zero arguments, so that they will get special treatment while executing.

source

pub fn name(&self) -> &str

Returns the name of this function

source

pub fn volatility(&self) -> Volatility

Returns the Volatility of the builtin function.

source

pub fn return_type( self, input_expr_types: &[DataType] ) -> Result<DataType, DataFusionError>

Returns the output DataType of this function

This method should be invoked only after input_expr_types have been validated against the function’s TypeSignature using type_coercion::functions::data_types().

This method will:

  1. Perform additional checks on input_expr_types that are beyond the scope of TypeSignature validation.
  2. Deduce the output DataType based on the provided input_expr_types.
source

pub fn signature(&self) -> Signature

Return the argument Signature supported by this function

source

pub fn monotonicity(&self) -> Option<Vec<Option<bool>>>

This function specifies monotonicity behaviors for built-in scalar functions. The list can be extended, only mathematical and datetime functions are considered for the initial implementation of this feature.

source

pub fn aliases(&self) -> &'static [&'static str]

Returns all names that can be used to call this function

Trait Implementations§

source§

impl Clone for BuiltinScalarFunction

source§

fn clone(&self) -> BuiltinScalarFunction

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BuiltinScalarFunction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Display for BuiltinScalarFunction

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl From<&ScalarFunction> for BuiltinScalarFunction

source§

fn from(f: &ScalarFunction) -> BuiltinScalarFunction

Converts to this type from the input type.
source§

impl FromStr for BuiltinScalarFunction

§

type Err = DataFusionError

The associated error which can be returned from parsing.
source§

fn from_str(name: &str) -> Result<BuiltinScalarFunction, DataFusionError>

Parses a string s to return a value of this type. Read more
source§

impl Hash for BuiltinScalarFunction

source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoEnumIterator for BuiltinScalarFunction

§

type Iterator = BuiltinScalarFunctionIter

source§

fn iter() -> BuiltinScalarFunctionIter

source§

impl PartialEq for BuiltinScalarFunction

source§

fn eq(&self, other: &BuiltinScalarFunction) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for BuiltinScalarFunction

source§

impl Eq for BuiltinScalarFunction

source§

impl StructuralPartialEq for BuiltinScalarFunction

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsOut<T> for T
where T: Copy,

source§

fn as_out(&mut self) -> Out<'_, T>

Returns an out reference to self.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

source§

impl<T> Ungil for T
where T: Send,