Skip to main content

ScalarFunction

Trait ScalarFunction 

Source
pub trait ScalarFunction: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn info(&self) -> FunctionInfo;
    fn evaluate(&self, args: &[Value]) -> Result<Value>;
    fn clone_box(&self) -> Box<dyn ScalarFunction>;

    // Provided method
    fn native_fn1(&self) -> Option<NativeFn1> { ... }
}
Expand description

Trait for scalar functions

Required Methods§

Source

fn name(&self) -> &str

Get the function name

Source

fn info(&self) -> FunctionInfo

Get function information

Source

fn evaluate(&self, args: &[Value]) -> Result<Value>

Evaluate the function with the given arguments

Source

fn clone_box(&self) -> Box<dyn ScalarFunction>

Clone the function into a new instance

Provided Methods§

Source

fn native_fn1(&self) -> Option<NativeFn1>

Optional: Return a direct function pointer for single-arg functions. When Some, compiler emits direct call (no dynamic dispatch). Default is None (uses evaluate() with dynamic dispatch).

Implementors§

Source§

impl ScalarFunction for AbsFunction

Source§

impl ScalarFunction for CastFunction

Source§

impl ScalarFunction for CeilFunction

Source§

impl ScalarFunction for CeilingFunction

Source§

impl ScalarFunction for CharFunction

Source§

impl ScalarFunction for CharLengthFunction

Source§

impl ScalarFunction for CoalesceFunction

Source§

impl ScalarFunction for CollateFunction

Source§

impl ScalarFunction for ConcatFunction

Source§

impl ScalarFunction for ConcatWsFunction

Source§

impl ScalarFunction for ContainsFunction

Source§

impl ScalarFunction for CosFunction

Source§

impl ScalarFunction for Crc32Function

Source§

impl ScalarFunction for CurrentDateFunction

Source§

impl ScalarFunction for CurrentTimeFunction

Source§

impl ScalarFunction for CurrentTimestampFunction

Source§

impl ScalarFunction for DateAddFunction

Source§

impl ScalarFunction for DateDiffAliasFunction

Source§

impl ScalarFunction for DateDiffFunction

Source§

impl ScalarFunction for DateSubFunction

Source§

impl ScalarFunction for DateTruncFunction

Source§

impl ScalarFunction for DayFunction

Source§

impl ScalarFunction for EndsWithFunction

Source§

impl ScalarFunction for ExpFunction

Source§

impl ScalarFunction for ExtractFunction

Source§

impl ScalarFunction for FloorFunction

Source§

impl ScalarFunction for GreatestFunction

Source§

impl ScalarFunction for HourFunction

Source§

impl ScalarFunction for IfNullFunction

Source§

impl ScalarFunction for IifFunction

Source§

impl ScalarFunction for InstrFunction

Source§

impl ScalarFunction for JsonArrayFunction

Source§

impl ScalarFunction for JsonArrayLengthFunction

Source§

impl ScalarFunction for JsonExtractFunction

Source§

impl ScalarFunction for JsonKeysFunction

Source§

impl ScalarFunction for JsonObjectFunction

Source§

impl ScalarFunction for JsonTypeFunction

Source§

impl ScalarFunction for JsonTypeOfFunction

Source§

impl ScalarFunction for JsonValidFunction

Source§

impl ScalarFunction for LeastFunction

Source§

impl ScalarFunction for LeftFunction

Source§

impl ScalarFunction for LengthFunction

Source§

impl ScalarFunction for LnFunction

Source§

impl ScalarFunction for LocateFunction

Source§

impl ScalarFunction for Log2Function

Source§

impl ScalarFunction for Log10Function

Source§

impl ScalarFunction for LogFunction

Source§

impl ScalarFunction for LowerFunction

Source§

impl ScalarFunction for LpadFunction

Source§

impl ScalarFunction for LtrimFunction

Source§

impl ScalarFunction for Md5Function

Source§

impl ScalarFunction for MinuteFunction

Source§

impl ScalarFunction for ModFunction

Source§

impl ScalarFunction for MonthFunction

Source§

impl ScalarFunction for NowFunction

Source§

impl ScalarFunction for NullIfFunction

Source§

impl ScalarFunction for PiFunction

Source§

impl ScalarFunction for PositionFunction

Source§

impl ScalarFunction for PowFunction

Source§

impl ScalarFunction for PowerFunction

Source§

impl ScalarFunction for RandomFunction

Source§

impl ScalarFunction for RepeatFunction

Source§

impl ScalarFunction for ReplaceFunction

Source§

impl ScalarFunction for ReverseFunction

Source§

impl ScalarFunction for RightFunction

Source§

impl ScalarFunction for RoundFunction

Source§

impl ScalarFunction for RpadFunction

Source§

impl ScalarFunction for RtrimFunction

Source§

impl ScalarFunction for SecondFunction

Source§

impl ScalarFunction for Sha1Function

Source§

impl ScalarFunction for Sha256Function

Source§

impl ScalarFunction for Sha384Function

Source§

impl ScalarFunction for Sha512Function

Source§

impl ScalarFunction for SignFunction

Source§

impl ScalarFunction for SinFunction

Source§

impl ScalarFunction for SleepFunction

Source§

impl ScalarFunction for SplitPartFunction

Source§

impl ScalarFunction for SqrtFunction

Source§

impl ScalarFunction for StartsWithFunction

Source§

impl ScalarFunction for StrposFunction

Source§

impl ScalarFunction for SubstrFunction

Source§

impl ScalarFunction for SubstringFunction

Source§

impl ScalarFunction for TanFunction

Source§

impl ScalarFunction for TimeTruncFunction

Source§

impl ScalarFunction for ToCharFunction

Source§

impl ScalarFunction for TrimFunction

Source§

impl ScalarFunction for TruncFunction

Source§

impl ScalarFunction for TruncateFunction

Source§

impl ScalarFunction for TypeOfFunction

Source§

impl ScalarFunction for UpperFunction

Source§

impl ScalarFunction for VersionFunction

Source§

impl ScalarFunction for YearFunction

Source§

impl ScalarFunction for VecDimsFunction

Source§

impl ScalarFunction for VecDistanceCosineFunction

Source§

impl ScalarFunction for VecDistanceIpFunction

Source§

impl ScalarFunction for VecDistanceL2Function

Source§

impl ScalarFunction for VecNormFunction

Source§

impl ScalarFunction for VecToTextFunction

Source§

impl ScalarFunction for GenerateSeriesScalarFunction