pub enum BuiltinScalarFunction {
Show 131 variants Abs, Acos, Asin, Atan, Atan2, Acosh, Asinh, Atanh, Cbrt, Ceil, Coalesce, Cos, Cosh, Decode, Degrees, Digest, Encode, Exp, Factorial, Floor, Gcd, Lcm, Isnan, Iszero, Ln, Log, Log10, Log2, Nanvl, Pi, Power, Radians, Round, Signum, Sin, Sinh, Sqrt, Tan, Tanh, Trunc, Cot, ArrayAppend, ArraySort, ArrayConcat, ArrayHas, ArrayHasAll, ArrayHasAny, ArrayPopFront, ArrayPopBack, ArrayDims, ArrayDistinct, ArrayElement, ArrayEmpty, ArrayLength, ArrayNdims, ArrayPosition, ArrayPositions, ArrayPrepend, ArrayRemove, ArrayRemoveN, ArrayRemoveAll, ArrayRepeat, ArrayReplace, ArrayReplaceN, ArrayReplaceAll, ArraySlice, ArrayToString, ArrayIntersect, ArrayUnion, ArrayExcept, Cardinality, ArrayResize, MakeArray, Flatten, Range, Struct, Ascii, BitLength, Btrim, CharacterLength, Chr, Concat, ConcatWithSeparator, DatePart, DateTrunc, DateBin, InitCap, Left, Lpad, Lower, Ltrim, MD5, NullIf, OctetLength, Random, RegexpReplace, Repeat, Replace, Reverse, Right, Rpad, Rtrim, SHA224, SHA256, SHA384, SHA512, SplitPart, StringToArray, StartsWith, Strpos, Substr, ToHex, ToTimestamp, ToTimestampMillis, ToTimestampMicros, ToTimestampNanos, ToTimestampSeconds, FromUnixtime, Now, CurrentDate, CurrentTime, Translate, Trim, Upper, Uuid, RegexpMatch, ArrowTypeof, OverLay, Levenshtein, SubstrIndex, FindInSet,
}
Expand description

Enum of all built-in scalar functions

Variants§

§

Abs

abs

§

Acos

acos

§

Asin

asin

§

Atan

atan

§

Atan2

atan2

§

Acosh

acosh

§

Asinh

asinh

§

Atanh

atanh

§

Cbrt

cbrt

§

Ceil

ceil

§

Coalesce

coalesce

§

Cos

cos

§

Cosh

cos

§

Decode

Decode

§

Degrees

degrees

§

Digest

Digest

§

Encode

Encode

§

Exp

exp

§

Factorial

factorial

§

Floor

floor

§

Gcd

gcd, Greatest common divisor

§

Lcm

lcm, Least common multiple

§

Isnan

isnan

§

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

§

Tan

tan

§

Tanh

tanh

§

Trunc

trunc

§

Cot

cot

§

ArrayAppend

array_append

§

ArraySort

array_sort

§

ArrayConcat

array_concat

§

ArrayHas

array_has

§

ArrayHasAll

array_has_all

§

ArrayHasAny

array_has_any

§

ArrayPopFront

array_pop_front

§

ArrayPopBack

array_pop_back

§

ArrayDims

array_dims

§

ArrayDistinct

array_distinct

§

ArrayElement

array_element

§

ArrayEmpty

array_empty

§

ArrayLength

array_length

§

ArrayNdims

array_ndims

§

ArrayPosition

array_position

§

ArrayPositions

array_positions

§

ArrayPrepend

array_prepend

§

ArrayRemove

array_remove

§

ArrayRemoveN

array_remove_n

§

ArrayRemoveAll

array_remove_all

§

ArrayRepeat

array_repeat

§

ArrayReplace

array_replace

§

ArrayReplaceN

array_replace_n

§

ArrayReplaceAll

array_replace_all

§

ArraySlice

array_slice

§

ArrayToString

array_to_string

§

ArrayIntersect

array_intersect

§

ArrayUnion

array_union

§

ArrayExcept

array_except

§

Cardinality

cardinality

§

ArrayResize

array_resize

§

MakeArray

construct an array from columns

§

Flatten

Flatten

§

Range

Range

§

Struct

struct

§

Ascii

ascii

§

BitLength

bit_length

§

Btrim

btrim

§

CharacterLength

character_length

§

Chr

chr

§

Concat

concat

§

ConcatWithSeparator

concat_ws

§

DatePart

date_part

§

DateTrunc

date_trunc

§

DateBin

date_bin

§

InitCap

initcap

§

Left

left

§

Lpad

lpad

§

Lower

lower

§

Ltrim

ltrim

§

MD5

md5

§

NullIf

nullif

§

OctetLength

octet_length

§

Random

random

§

RegexpReplace

regexp_replace

§

Repeat

repeat

§

Replace

replace

§

Reverse

reverse

§

Right

right

§

Rpad

rpad

§

Rtrim

rtrim

§

SHA224

sha224

§

SHA256

sha256

§

SHA384

sha384

§

SHA512

Sha512

§

SplitPart

split_part

§

StringToArray

string_to_array

§

StartsWith

starts_with

§

Strpos

strpos

§

Substr

substr

§

ToHex

to_hex

§

ToTimestamp

to_timestamp

§

ToTimestampMillis

to_timestamp_millis

§

ToTimestampMicros

to_timestamp_micros

§

ToTimestampNanos

to_timestamp_nanos

§

ToTimestampSeconds

to_timestamp_seconds

§

FromUnixtime

from_unixtime

§

Now

now

§

CurrentDate

current_date

§

CurrentTime

current_time

§

Translate

translate

§

Trim

trim

§

Upper

upper

§

Uuid

uuid

§

RegexpMatch

regexp_match

§

ArrowTypeof

arrow_typeof

§

OverLay

overlay

§

Levenshtein

levenshtein

§

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> 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> 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,