Struct substrait_expr::builder::functions::FunctionsBuilder
source · pub struct FunctionsBuilder<'a> { /* private fields */ }Expand description
A builder that can create scalar function expressions
Implementations§
source§impl<'a> FunctionsBuilder<'a>
impl<'a> FunctionsBuilder<'a>
sourcepub fn new_builder(
&self,
func: &'static FunctionDefinition,
args: Vec<Expression>
) -> FunctionBuilder<'_>
pub fn new_builder( &self, func: &'static FunctionDefinition, args: Vec<Expression> ) -> FunctionBuilder<'_>
Creates a new FunctionBuilder based on a given function definition.
This method is not typically used directly. Instead, extension functions
like add or subtract are used which call this function.
However, this could be used directly for UDFs if you don’t want to create an extension trait.
sourcepub fn lookup_field_by_name(&self, name: impl Into<String>) -> Expression
pub fn lookup_field_by_name(&self, name: impl Into<String>) -> Expression
Creates a “late lookup” function expression
This is not really a function call. It’s a placeholder we are currently using to indicate an unresolved field reference. This is created whenever a user creates a field reference by name but the schema is unknown or does not know names.
Trait Implementations§
source§impl<'a> FunctionsArithmeticExt for FunctionsBuilder<'a>
impl<'a> FunctionsArithmeticExt for FunctionsBuilder<'a>
fn add(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn subtract(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn multiply(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn divide(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn negate(&self, arg0: Expression) -> FunctionBuilder<'_>
fn modulus(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn power(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn sqrt(&self, arg0: Expression) -> FunctionBuilder<'_>
fn exp(&self, arg0: Expression) -> FunctionBuilder<'_>
fn cos(&self, arg0: Expression) -> FunctionBuilder<'_>
fn sin(&self, arg0: Expression) -> FunctionBuilder<'_>
fn tan(&self, arg0: Expression) -> FunctionBuilder<'_>
fn cosh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn sinh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn tanh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn acos(&self, arg0: Expression) -> FunctionBuilder<'_>
fn asin(&self, arg0: Expression) -> FunctionBuilder<'_>
fn atan(&self, arg0: Expression) -> FunctionBuilder<'_>
fn acosh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn asinh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn atanh(&self, arg0: Expression) -> FunctionBuilder<'_>
fn atan_2(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn radians(&self, arg0: Expression) -> FunctionBuilder<'_>
fn degrees(&self, arg0: Expression) -> FunctionBuilder<'_>
fn abs(&self, arg0: Expression) -> FunctionBuilder<'_>
fn sign(&self, arg0: Expression) -> FunctionBuilder<'_>
fn factorial(&self, arg0: Expression) -> FunctionBuilder<'_>
fn bitwise_not(&self, arg0: Expression) -> FunctionBuilder<'_>
fn bitwise_and(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn bitwise_or(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn bitwise_xor(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
source§impl<'a> FunctionsBooleanExt for FunctionsBuilder<'a>
impl<'a> FunctionsBooleanExt for FunctionsBuilder<'a>
fn or(&self, arg0: Expression) -> FunctionBuilder<'_>
fn and(&self, arg0: Expression) -> FunctionBuilder<'_>
fn and_not(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn xor(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn not(&self, arg0: Expression) -> FunctionBuilder<'_>
source§impl<'a> FunctionsComparisonExt for FunctionsBuilder<'a>
impl<'a> FunctionsComparisonExt for FunctionsBuilder<'a>
fn not_equal(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn equal(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn is_not_distinct_from( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn lt(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn gt(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn lte(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn gte(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn between( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn is_null(&self, arg0: Expression) -> FunctionBuilder<'_>
fn is_not_null(&self, arg0: Expression) -> FunctionBuilder<'_>
fn is_nan(&self, arg0: Expression) -> FunctionBuilder<'_>
fn is_finite(&self, arg0: Expression) -> FunctionBuilder<'_>
fn is_infinite(&self, arg0: Expression) -> FunctionBuilder<'_>
fn nullif(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn coalesce(&self, arg0: Expression) -> FunctionBuilder<'_>
fn least(&self, arg0: Expression) -> FunctionBuilder<'_>
fn least_skip_null(&self, arg0: Expression) -> FunctionBuilder<'_>
fn greatest(&self, arg0: Expression) -> FunctionBuilder<'_>
fn greatest_skip_null(&self, arg0: Expression) -> FunctionBuilder<'_>
source§impl<'a> FunctionsDatetimeExt for FunctionsBuilder<'a>
impl<'a> FunctionsDatetimeExt for FunctionsBuilder<'a>
fn extract(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn extract3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn extract4( &self, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression ) -> FunctionBuilder<'_>
fn extract_boolean( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn extract_boolean3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn add(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn add3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn add_intervals( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn subtract(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn subtract3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn lte(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn lt(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn gte(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn gt(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn assume_timezone( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn local_timestamp( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn strptime_time( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn strptime_date( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn strptime_timestamp( &self, arg0: Expression, arg1: Expression ) -> FunctionBuilder<'_>
fn strptime_timestamp3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn strftime(&self, arg0: Expression, arg1: Expression) -> FunctionBuilder<'_>
fn strftime3( &self, arg0: Expression, arg1: Expression, arg2: Expression ) -> FunctionBuilder<'_>
fn round_temporal( &self, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression ) -> FunctionBuilder<'_>
fn round_temporal6( &self, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression, arg5: Expression ) -> FunctionBuilder<'_>
fn round_calendar( &self, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression ) -> FunctionBuilder<'_>
fn round_calendar6( &self, arg0: Expression, arg1: Expression, arg2: Expression, arg3: Expression, arg4: Expression, arg5: Expression ) -> FunctionBuilder<'_>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for FunctionsBuilder<'a>
impl<'a> Send for FunctionsBuilder<'a>
impl<'a> Sync for FunctionsBuilder<'a>
impl<'a> Unpin for FunctionsBuilder<'a>
impl<'a> UnwindSafe for FunctionsBuilder<'a>
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
Mutably borrows from an owned value. Read more