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
impl BuiltinScalarFunction
sourcepub fn supports_zero_argument(&self) -> bool
👎Deprecated since 32.0.0: please use TypeSignature::supports_zero_argument instead
pub fn supports_zero_argument(&self) -> bool
an allowlist of functions to take zero arguments, so that they will get special treatment while executing.
sourcepub fn volatility(&self) -> Volatility
pub fn volatility(&self) -> Volatility
Returns the Volatility of the builtin function.
sourcepub fn return_type(self, input_expr_types: &[DataType]) -> Result<DataType>
pub fn return_type(self, input_expr_types: &[DataType]) -> Result<DataType>
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:
- Perform additional checks on
input_expr_types
that are beyond the scope ofTypeSignature
validation. - Deduce the output
DataType
based on the providedinput_expr_types
.
sourcepub fn monotonicity(&self) -> Option<FuncMonotonicity>
pub fn monotonicity(&self) -> Option<FuncMonotonicity>
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.
Trait Implementations§
source§impl Clone for BuiltinScalarFunction
impl Clone for BuiltinScalarFunction
source§fn clone(&self) -> BuiltinScalarFunction
fn clone(&self) -> BuiltinScalarFunction
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for BuiltinScalarFunction
impl Debug for BuiltinScalarFunction
source§impl Display for BuiltinScalarFunction
impl Display for BuiltinScalarFunction
source§impl FromStr for BuiltinScalarFunction
impl FromStr for BuiltinScalarFunction
§type Err = DataFusionError
type Err = DataFusionError
source§impl Hash for BuiltinScalarFunction
impl Hash for BuiltinScalarFunction
source§impl PartialEq for BuiltinScalarFunction
impl PartialEq for BuiltinScalarFunction
source§fn eq(&self, other: &BuiltinScalarFunction) -> bool
fn eq(&self, other: &BuiltinScalarFunction) -> bool
self
and other
values to be equal, and is used
by ==
.impl Copy for BuiltinScalarFunction
impl Eq for BuiltinScalarFunction
impl StructuralPartialEq for BuiltinScalarFunction
Auto Trait Implementations§
impl Freeze for BuiltinScalarFunction
impl RefUnwindSafe for BuiltinScalarFunction
impl Send for BuiltinScalarFunction
impl Sync for BuiltinScalarFunction
impl Unpin for BuiltinScalarFunction
impl UnwindSafe for BuiltinScalarFunction
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
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
key
and return true
if they are equal.