pub struct SparkFloor { /* private fields */ }Expand description
Spark-compatible floor function.
Differences from DataFusion’s floor:
- Returns Int64 for float and integer inputs (while DataFusion preserves input type)
- For Decimal128(p, s), returns Decimal128(p-s+1, 0) with scale 0 (DataFusion preserves original precision and scale)
https://spark.apache.org/docs/latest/api/sql/index.html#floor
Implementations§
Source§impl SparkFloor
impl SparkFloor
Trait Implementations§
Source§impl Debug for SparkFloor
impl Debug for SparkFloor
Source§impl Default for SparkFloor
impl Default for SparkFloor
impl Eq for SparkFloor
Source§impl Hash for SparkFloor
impl Hash for SparkFloor
Source§impl PartialEq for SparkFloor
impl PartialEq for SparkFloor
Source§fn eq(&self, other: &SparkFloor) -> bool
fn eq(&self, other: &SparkFloor) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl ScalarUDFImpl for SparkFloor
impl ScalarUDFImpl for SparkFloor
Source§fn signature(&self) -> &Signature
fn signature(&self) -> &Signature
Returns a
Signature describing the argument types for which this
function has an implementation, and the function’s Volatility. Read moreSource§fn return_field_from_args(&self, args: ReturnFieldArgs<'_>) -> Result<FieldRef>
fn return_field_from_args(&self, args: ReturnFieldArgs<'_>) -> Result<FieldRef>
What type will be returned by this function, given the arguments? Read more
Source§fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue>
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue>
Invoke the function returning the appropriate result. Read more
Source§fn aliases(&self) -> &[String]
fn aliases(&self) -> &[String]
Returns any aliases (alternate names) for this function. Read more
Source§fn display_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
fn display_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
👎Deprecated since 50.0.0:
This method is unused and will be removed in a future release
Returns the user-defined display name of function, given the arguments Read more
Source§fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
fn schema_name(&self, args: &[Expr]) -> Result<String, DataFusionError>
Returns the name of the column this expression would create Read more
Source§fn with_updated_config(&self, _config: &ConfigOptions) -> Option<ScalarUDF>
fn with_updated_config(&self, _config: &ConfigOptions) -> Option<ScalarUDF>
Create a new instance of this function with updated configuration. Read more
Source§fn is_nullable(&self, _args: &[Expr], _schema: &dyn ExprSchema) -> bool
fn is_nullable(&self, _args: &[Expr], _schema: &dyn ExprSchema) -> bool
👎Deprecated since 45.0.0:
Use return_field_from_args instead. if you use is_nullable that returns non-nullable with return_type, you would need to switch to return_field_from_args, you might have error
Source§fn simplify(
&self,
args: Vec<Expr>,
_info: &SimplifyContext,
) -> Result<ExprSimplifyResult, DataFusionError>
fn simplify( &self, args: Vec<Expr>, _info: &SimplifyContext, ) -> Result<ExprSimplifyResult, DataFusionError>
Optionally apply per-UDF simplification / rewrite rules. Read more
Source§fn preimage(
&self,
_args: &[Expr],
_lit_expr: &Expr,
_info: &SimplifyContext,
) -> Result<PreimageResult, DataFusionError>
fn preimage( &self, _args: &[Expr], _lit_expr: &Expr, _info: &SimplifyContext, ) -> Result<PreimageResult, DataFusionError>
Returns a single contiguous preimage for this function and the specified
scalar expression, if any. Read more
Source§fn short_circuits(&self) -> bool
fn short_circuits(&self) -> bool
Returns true if some of this
exprs subexpressions may not be evaluated
and thus any side effects (like divide by zero) may not be encountered. Read moreSource§fn conditional_arguments<'a>(
&self,
args: &'a [Expr],
) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
fn conditional_arguments<'a>( &self, args: &'a [Expr], ) -> Option<(Vec<&'a Expr>, Vec<&'a Expr>)>
Determines which of the arguments passed to this function are evaluated eagerly
and which may be evaluated lazily. Read more
Source§fn evaluate_bounds(
&self,
_input: &[&Interval],
) -> Result<Interval, DataFusionError>
fn evaluate_bounds( &self, _input: &[&Interval], ) -> Result<Interval, DataFusionError>
Source§fn propagate_constraints(
&self,
_interval: &Interval,
_inputs: &[&Interval],
) -> Result<Option<Vec<Interval>>, DataFusionError>
fn propagate_constraints( &self, _interval: &Interval, _inputs: &[&Interval], ) -> Result<Option<Vec<Interval>>, DataFusionError>
Source§fn output_ordering(
&self,
inputs: &[ExprProperties],
) -> Result<SortProperties, DataFusionError>
fn output_ordering( &self, inputs: &[ExprProperties], ) -> Result<SortProperties, DataFusionError>
Calculates the
SortProperties of this function based on its children’s properties.Source§fn preserves_lex_ordering(
&self,
_inputs: &[ExprProperties],
) -> Result<bool, DataFusionError>
fn preserves_lex_ordering( &self, _inputs: &[ExprProperties], ) -> Result<bool, DataFusionError>
Returns true if the function preserves lexicographical ordering based on
the input ordering. Read more
Source§fn coerce_types(
&self,
_arg_types: &[DataType],
) -> Result<Vec<DataType>, DataFusionError>
fn coerce_types( &self, _arg_types: &[DataType], ) -> Result<Vec<DataType>, DataFusionError>
Coerce arguments of a function call to types that the function can evaluate. Read more
Source§fn struct_field_mapping(
&self,
_literal_args: &[Option<ScalarValue>],
) -> Option<StructFieldMapping>
fn struct_field_mapping( &self, _literal_args: &[Option<ScalarValue>], ) -> Option<StructFieldMapping>
For struct-producing functions, return how output fields map to input
arguments. This enables the optimizer to propagate orderings through
struct projections. Read more
Source§fn documentation(&self) -> Option<&Documentation>
fn documentation(&self) -> Option<&Documentation>
Returns the documentation for this Scalar UDF. Read more
Source§fn placement(&self, _args: &[ExpressionPlacement]) -> ExpressionPlacement
fn placement(&self, _args: &[ExpressionPlacement]) -> ExpressionPlacement
Returns placement information for this function. Read more
impl StructuralPartialEq for SparkFloor
Auto Trait Implementations§
impl !RefUnwindSafe for SparkFloor
impl !UnwindSafe for SparkFloor
impl Freeze for SparkFloor
impl Send for SparkFloor
impl Sync for SparkFloor
impl Unpin for SparkFloor
impl UnsafeUnpin for SparkFloor
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
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
Compare self to
key and return true if they are equal.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§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more