Skip to main content

EagerVariadicFunc

Trait EagerVariadicFunc 

Source
pub(crate) trait EagerVariadicFunc: Display {
    type Input<'a>: InputDatumType<'a, EvalError>;
    type Output<'a>: OutputDatumType<'a, EvalError>;

    // Required methods
    fn call<'a>(
        &self,
        input: Self::Input<'a>,
        temp_storage: &'a RowArena,
    ) -> Self::Output<'a>;
    fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType;

    // Provided methods
    fn propagates_nulls(&self) -> bool { ... }
    fn introduces_nulls(&self) -> bool { ... }
    fn could_error(&self) -> bool { ... }
    fn is_monotone(&self) -> bool { ... }
    fn is_associative(&self) -> bool { ... }
    fn is_infix_op(&self) -> bool { ... }
}

Required Associated Types§

Required Methods§

Source

fn call<'a>( &self, input: Self::Input<'a>, temp_storage: &'a RowArena, ) -> Self::Output<'a>

Source

fn output_type(&self, input_types: &[SqlColumnType]) -> SqlColumnType

Provided Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl EagerVariadicFunc for ArrayCreate

Source§

impl EagerVariadicFunc for ArrayFill

Source§

impl EagerVariadicFunc for ArrayIndex

Source§

type Input<'a> = (Array<'a>, Variadic<i64>)

Source§

type Output<'a> = Option<Datum<'a>>

Source§

impl EagerVariadicFunc for ArrayPosition

Source§

impl EagerVariadicFunc for ArrayToString

Source§

impl EagerVariadicFunc for Concat

Source§

impl EagerVariadicFunc for ConcatWs

Source§

impl EagerVariadicFunc for DateBinTimestamp

Source§

impl EagerVariadicFunc for DateBinTimestampTz

Source§

impl EagerVariadicFunc for DateDiffDate

Source§

type Input<'a> = (&'a str, Date, Date)

Source§

type Output<'a> = Result<i64, EvalError>

Source§

impl EagerVariadicFunc for DateDiffTime

Source§

impl EagerVariadicFunc for DateDiffTimestamp

Source§

impl EagerVariadicFunc for DateDiffTimestampTz

Source§

impl EagerVariadicFunc for HmacBytes

Source§

type Input<'a> = (&'a [u8], &'a [u8], &'a str)

Source§

type Output<'a> = Result<Vec<u8>, EvalError>

Source§

impl EagerVariadicFunc for HmacString

Source§

type Input<'a> = (&'a str, &'a str, &'a str)

Source§

type Output<'a> = Result<Vec<u8>, EvalError>

Source§

impl EagerVariadicFunc for JsonbBuildArray

Source§

type Input<'a> = Variadic<Datum<'a>>

Source§

type Output<'a> = JsonbRef<'a>

Source§

impl EagerVariadicFunc for JsonbBuildObject

Source§

type Input<'a> = Variadic<(Datum<'a>, Datum<'a>)>

Source§

type Output<'a> = Result<JsonbRef<'a>, EvalError>

Source§

impl EagerVariadicFunc for ListCreate

Source§

type Input<'a> = Variadic<Datum<'a>>

Source§

type Output<'a> = Datum<'a>

Source§

impl EagerVariadicFunc for ListIndex

Source§

type Input<'a> = (DatumList<'a>, Variadic<i64>)

Source§

type Output<'a> = Datum<'a>

Source§

impl EagerVariadicFunc for ListSliceLinear

Source§

type Input<'a> = (DatumList<'a>, (i64, i64), Variadic<(i64, i64)>)

Source§

type Output<'a> = Datum<'a>

Source§

impl EagerVariadicFunc for MakeAclItem

Source§

impl EagerVariadicFunc for MakeMzAclItem

Source§

type Input<'a> = (&'a str, &'a str, &'a str)

Source§

type Output<'a> = Result<MzAclItem, EvalError>

Source§

impl EagerVariadicFunc for MakeTimestamp

Source§

impl EagerVariadicFunc for MapBuild

Source§

type Input<'a> = Variadic<(Option<&'a str>, Datum<'a>)>

Source§

type Output<'a> = Datum<'a>

Source§

impl EagerVariadicFunc for PadLeading

Source§

impl EagerVariadicFunc for RangeCreate

Source§

type Input<'a> = (Datum<'a>, Datum<'a>, Datum<'a>)

Source§

type Output<'a> = Result<Datum<'a>, EvalError>

Source§

impl EagerVariadicFunc for RecordCreate

Source§

type Input<'a> = Variadic<Datum<'a>>

Source§

type Output<'a> = Datum<'a>

Source§

impl EagerVariadicFunc for RegexpMatch

Source§

type Input<'a> = (&'a str, &'a str, OptionalArg<&'a str>)

Source§

type Output<'a> = Result<Datum<'a>, EvalError>

Source§

impl EagerVariadicFunc for RegexpReplace

Source§

type Input<'a> = (&'a str, &'a str, &'a str, OptionalArg<&'a str>)

Source§

type Output<'a> = Result<Cow<'a, str>, EvalError>

Source§

impl EagerVariadicFunc for RegexpSplitToArray

Source§

type Input<'a> = (&'a str, &'a str, OptionalArg<&'a str>)

Source§

type Output<'a> = Result<Datum<'a>, EvalError>

Source§

impl EagerVariadicFunc for Replace

Source§

type Input<'a> = (&'a str, &'a str, &'a str)

Source§

type Output<'a> = Result<String, EvalError>

Source§

impl EagerVariadicFunc for SplitPart

Source§

type Input<'a> = (&'a str, &'a str, i32)

Source§

type Output<'a> = Result<&'a str, EvalError>

Source§

impl EagerVariadicFunc for StringToArray

Source§

type Input<'a> = (&'a str, Option<&'a str>, OptionalArg<Option<&'a str>>)

Source§

type Output<'a> = Result<Datum<'a>, EvalError>

Source§

impl EagerVariadicFunc for Substr

Source§

type Input<'a> = (&'a str, i32, OptionalArg<i32>)

Source§

type Output<'a> = Result<&'a str, EvalError>

Source§

impl EagerVariadicFunc for TimezoneTimeVariadic

Source§

impl EagerVariadicFunc for Translate

Source§

type Input<'a> = (&'a str, &'a str, &'a str)

Source§

type Output<'a> = String