Skip to main content

Function

Trait Function 

Source
pub trait Function: Send + Sync {
    // Required methods
    fn info(&self) -> &FunctionInfo;
    fn capabilities(&self) -> &[FunctionCapability];
    fn return_type(&self, input_types: &[Type]) -> Type;
    fn execute(
        &self,
        ctx: &FunctionContext<'_>,
        args: &Columns,
    ) -> Result<Columns, FunctionError>;

    // Provided methods
    fn accepted_types(&self) -> InputTypes { ... }
    fn propagates_options(&self) -> bool { ... }
    fn call(
        &self,
        ctx: &FunctionContext<'_>,
        args: &Columns,
    ) -> Result<Columns, FunctionError> { ... }
    fn accumulator(
        &self,
        _ctx: &FunctionContext<'_>,
    ) -> Option<Box<dyn Accumulator>> { ... }
}

Required Methods§

Source

fn info(&self) -> &FunctionInfo

Source

fn capabilities(&self) -> &[FunctionCapability]

Source

fn return_type(&self, input_types: &[Type]) -> Type

Source

fn execute( &self, ctx: &FunctionContext<'_>, args: &Columns, ) -> Result<Columns, FunctionError>

Provided Methods§

Source

fn accepted_types(&self) -> InputTypes

Source

fn propagates_options(&self) -> bool

Source

fn call( &self, ctx: &FunctionContext<'_>, args: &Columns, ) -> Result<Columns, FunctionError>

Calls the function, automatically propagating Option columns if propagates_options() returns true.

Source

fn accumulator( &self, _ctx: &FunctionContext<'_>, ) -> Option<Box<dyn Accumulator>>

Implementors§

Source§

impl Function for BlobB58

Source§

impl Function for BlobB64

Source§

impl Function for BlobB64url

Source§

impl Function for BlobHex

Source§

impl Function for BlobUtf8

Source§

impl Function for Now

Source§

impl Function for DateAdd

Source§

impl Function for DateAge

Source§

impl Function for DateDay

Source§

impl Function for DateDayOfWeek

Source§

impl Function for DateDayOfYear

Source§

impl Function for DateDaysInMonth

Source§

impl Function for DateDiff

Source§

impl Function for DateEndOfMonth

Source§

impl Function for DateFormat

Source§

impl Function for DateIsLeapYear

Source§

impl Function for DateMonth

Source§

impl Function for DateNew

Source§

impl Function for DateNow

Source§

impl Function for DateQuarter

Source§

impl Function for DateStartOfMonth

Source§

impl Function for DateStartOfYear

Source§

impl Function for DateSubtract

Source§

impl Function for DateTrunc

Source§

impl Function for DateWeek

Source§

impl Function for DateYear

Source§

impl Function for DateTimeAdd

Source§

impl Function for DateTimeAge

Source§

impl Function for DateTimeDate

Source§

impl Function for DateTimeDay

Source§

impl Function for DateTimeDayOfWeek

Source§

impl Function for DateTimeDayOfYear

Source§

impl Function for DateTimeDiff

Source§

impl Function for DateTimeEpoch

Source§

impl Function for DateTimeEpochMillis

Source§

impl Function for DateTimeFormat

Source§

impl Function for DateTimeFromEpoch

Source§

impl Function for DateTimeFromEpochMillis

Source§

impl Function for DateTimeHour

Source§

impl Function for DateTimeMinute

Source§

impl Function for DateTimeMonth

Source§

impl Function for DateTimeNanosecond

Source§

impl Function for DateTimeNew

Source§

impl Function for DateTimeNow

Source§

impl Function for DateTimeQuarter

Source§

impl Function for DateTimeSecond

Source§

impl Function for DateTimeSubtract

Source§

impl Function for DateTimeTime

Source§

impl Function for DateTimeTrunc

Source§

impl Function for DateTimeWeek

Source§

impl Function for DateTimeYear

Source§

impl Function for DurationAdd

Source§

impl Function for DurationDays

Source§

impl Function for DurationFormat

Source§

impl Function for DurationGetDays

Source§

impl Function for DurationGetMonths

Source§

impl Function for DurationGetNanos

Source§

impl Function for DurationHours

Source§

impl Function for DurationMillis

Source§

impl Function for DurationMinutes

Source§

impl Function for DurationMonths

Source§

impl Function for DurationNegate

Source§

impl Function for DurationScale

Source§

impl Function for DurationSeconds

Source§

impl Function for DurationSubtract

Source§

impl Function for DurationTrunc

Source§

impl Function for DurationWeeks

Source§

impl Function for DurationYears

Source§

impl Function for FlowNodeToJson

Source§

impl Function for Id

Source§

impl Function for IsAnonymous

Source§

impl Function for IsNone

Source§

impl Function for IsRoot

Source§

impl Function for IsSome

Source§

impl Function for IsType

Source§

impl Function for JsonArray

Source§

impl Function for JsonObject

Source§

impl Function for JsonPretty

Source§

impl Function for JsonSerialize

Source§

impl Function for Abs

Source§

impl Function for Acos

Source§

impl Function for Asin

Source§

impl Function for Atan2

Source§

impl Function for Atan

Source§

impl Function for Avg

Source§

impl Function for Ceil

Source§

impl Function for Clamp

Source§

impl Function for Cos

Source§

impl Function for Count

Source§

impl Function for Euler

Source§

impl Function for Exp

Source§

impl Function for Floor

Source§

impl Function for Gcd

Source§

impl Function for Lcm

Source§

impl Function for Log2

Source§

impl Function for Log10

Source§

impl Function for Log

Source§

impl Function for Max

Source§

impl Function for Min

Source§

impl Function for Modulo

Source§

impl Function for Pi

Source§

impl Function for Power

Source§

impl Function for Round

Source§

impl Function for Sign

Source§

impl Function for Sin

Source§

impl Function for Sqrt

Source§

impl Function for Sum

Source§

impl Function for Tan

Source§

impl Function for Truncate

Source§

impl Function for Type

Source§

impl Function for RqlFingerprint

Source§

impl Function for GenerateSeries

Source§

impl Function for Series

Source§

impl Function for TextAscii

Source§

impl Function for TextChar

Source§

impl Function for TextConcat

Source§

impl Function for TextContains

Source§

impl Function for TextCount

Source§

impl Function for TextEndsWith

Source§

impl Function for FormatBytes

Source§

impl Function for FormatBytesSi

Source§

impl Function for TextIndexOf

Source§

impl Function for TextLength

Source§

impl Function for TextLower

Source§

impl Function for TextPadLeft

Source§

impl Function for TextPadRight

Source§

impl Function for TextRepeat

Source§

impl Function for TextReplace

Source§

impl Function for TextReverse

Source§

impl Function for TextStartsWith

Source§

impl Function for TextSubstring

Source§

impl Function for TextTrim

Source§

impl Function for TextTrimEnd

Source§

impl Function for TextTrimStart

Source§

impl Function for TextUpper

Source§

impl Function for TimeAdd

Source§

impl Function for TimeAge

Source§

impl Function for TimeDiff

Source§

impl Function for TimeFormat

Source§

impl Function for TimeHour

Source§

impl Function for TimeMinute

Source§

impl Function for TimeNanosecond

Source§

impl Function for TimeNew

Source§

impl Function for TimeNow

Source§

impl Function for TimeSecond

Source§

impl Function for TimeSubtract

Source§

impl Function for TimeTrunc

Source§

impl Function for UuidV4

Source§

impl Function for UuidV7