This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/datafusion.git
The following commit(s) were added to refs/heads/main by this push:
new 6ef4cef9d5 chore: Cleanup fully-qualified ScalarFunctionArgs (#20804)
6ef4cef9d5 is described below
commit 6ef4cef9d5b1d6f106ae608a3c95aae61f79c53c
Author: Neil Conway <[email protected]>
AuthorDate: Thu Mar 19 12:43:30 2026 -0400
chore: Cleanup fully-qualified ScalarFunctionArgs (#20804)
## Which issue does this PR close?
N/A
## Rationale for this change
In many of the UDF implementations, we used the fully-qualified name
`datafusion_expr::ScalarFunctionArgs` instead of the more typical
pattern of `use ...` and then referencing just `ScalarFunctionArgs`. I
can't see a good reason not to do the latter.
## What changes are included in this PR?
* Mechanical replacement to improve readability
## Are these changes tested?
Yes; no functional change.
## Are there any user-facing changes?
No.
---
datafusion/functions-nested/src/array_has.rs | 18 +++-------
datafusion/functions-nested/src/arrays_zip.rs | 8 ++---
datafusion/functions-nested/src/cardinality.rs | 7 ++--
datafusion/functions-nested/src/concat.rs | 18 +++-------
datafusion/functions-nested/src/dimension.rs | 13 +++-----
datafusion/functions-nested/src/distance.rs | 8 ++---
datafusion/functions-nested/src/empty.rs | 8 ++---
datafusion/functions-nested/src/except.rs | 8 ++---
datafusion/functions-nested/src/extract.rs | 28 ++++------------
datafusion/functions-nested/src/flatten.rs | 8 ++---
datafusion/functions-nested/src/length.rs | 7 ++--
datafusion/functions-nested/src/make_array.rs | 8 ++---
datafusion/functions-nested/src/map.rs | 8 ++---
datafusion/functions-nested/src/map_entries.rs | 9 ++---
datafusion/functions-nested/src/map_extract.rs | 8 ++---
datafusion/functions-nested/src/map_keys.rs | 9 ++---
datafusion/functions-nested/src/map_values.rs | 9 ++---
datafusion/functions-nested/src/range.rs | 9 ++---
datafusion/functions-nested/src/remove.rs | 17 +++-------
datafusion/functions-nested/src/repeat.rs | 8 ++---
datafusion/functions-nested/src/replace.rs | 17 +++-------
datafusion/functions-nested/src/resize.rs | 7 ++--
datafusion/functions-nested/src/reverse.rs | 8 ++---
datafusion/functions-nested/src/set_ops.rs | 18 +++-------
datafusion/functions-nested/src/sort.rs | 7 ++--
datafusion/functions-nested/src/string.rs | 14 +++-----
datafusion/functions/src/core/version.rs | 1 +
datafusion/functions/src/datetime/current_date.rs | 8 ++---
datafusion/functions/src/datetime/current_time.rs | 8 ++---
datafusion/functions/src/datetime/date_bin.rs | 12 +++----
datafusion/functions/src/datetime/date_part.rs | 9 ++---
datafusion/functions/src/datetime/date_trunc.rs | 17 ++++------
datafusion/functions/src/datetime/from_unixtime.rs | 14 ++++----
datafusion/functions/src/datetime/make_date.rs | 9 ++---
datafusion/functions/src/datetime/make_time.rs | 12 +++----
datafusion/functions/src/datetime/now.rs | 9 ++---
datafusion/functions/src/datetime/to_char.rs | 24 +++++++-------
datafusion/functions/src/datetime/to_date.rs | 12 +++----
datafusion/functions/src/datetime/to_local_time.rs | 9 ++---
datafusion/functions/src/datetime/to_time.rs | 8 ++---
datafusion/functions/src/datetime/to_timestamp.rs | 38 +++++++---------------
datafusion/functions/src/datetime/to_unixtime.rs | 8 ++---
datafusion/functions/src/regex/regexpcount.rs | 10 ++----
datafusion/functions/src/regex/regexpinstr.rs | 10 ++----
datafusion/functions/src/regex/regexplike.rs | 9 ++---
datafusion/functions/src/regex/regexpmatch.rs | 7 ++--
datafusion/functions/src/regex/regexpreplace.rs | 9 +++--
.../functions/src/unicode/character_length.rs | 8 ++---
datafusion/functions/src/unicode/initcap.rs | 9 ++---
datafusion/functions/src/unicode/left.rs | 8 ++---
datafusion/functions/src/unicode/lpad.rs | 8 ++---
datafusion/functions/src/unicode/reverse.rs | 8 ++---
datafusion/functions/src/unicode/right.rs | 8 ++---
datafusion/functions/src/unicode/rpad.rs | 8 ++---
datafusion/functions/src/unicode/strpos.rs | 9 ++---
datafusion/functions/src/unicode/substr.rs | 9 ++---
datafusion/functions/src/unicode/substrindex.rs | 8 ++---
datafusion/functions/src/unicode/translate.rs | 8 ++---
datafusion/physical-expr/src/scalar_function.rs | 2 +-
datafusion/spark/src/function/array/shuffle.rs | 9 ++---
.../spark/src/function/map/map_from_arrays.rs | 8 ++---
.../spark/src/function/map/map_from_entries.rs | 8 ++---
62 files changed, 222 insertions(+), 426 deletions(-)
diff --git a/datafusion/functions-nested/src/array_has.rs
b/datafusion/functions-nested/src/array_has.rs
index 5e945cfe1d..03ba0adde0 100644
--- a/datafusion/functions-nested/src/array_has.rs
+++ b/datafusion/functions-nested/src/array_has.rs
@@ -31,7 +31,8 @@ use datafusion_common::{DataFusionError, Result, ScalarValue,
exec_err};
use datafusion_expr::expr::ScalarFunction;
use datafusion_expr::simplify::ExprSimplifyResult;
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ScalarUDFImpl, Signature, Volatility,
in_list,
+ ColumnarValue, Documentation, Expr, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility, in_list,
};
use datafusion_macros::user_doc;
use datafusion_physical_expr_common::datum::compare_with_eq;
@@ -181,10 +182,7 @@ impl ScalarUDFImpl for ArrayHas {
Ok(ExprSimplifyResult::Original(args))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let [first_arg, second_arg] = take_function_args(self.name(),
&args.args)?;
if first_arg.data_type().is_null() {
// Always return null if the first argument is null
@@ -844,10 +842,7 @@ impl ScalarUDFImpl for ArrayHasAll {
Ok(DataType::Boolean)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_has_all_inner)(&args.args)
}
@@ -918,10 +913,7 @@ impl ScalarUDFImpl for ArrayHasAny {
Ok(DataType::Boolean)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let [first_arg, second_arg] = take_function_args(self.name(),
&args.args)?;
// If either argument is scalar, use the fast path.
diff --git a/datafusion/functions-nested/src/arrays_zip.rs
b/datafusion/functions-nested/src/arrays_zip.rs
index 5035439286..0654266c0e 100644
--- a/datafusion/functions-nested/src/arrays_zip.rs
+++ b/datafusion/functions-nested/src/arrays_zip.rs
@@ -29,7 +29,8 @@ use datafusion_common::cast::{
};
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -134,10 +135,7 @@ impl ScalarUDFImpl for ArraysZip {
))))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(arrays_zip_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/cardinality.rs
b/datafusion/functions-nested/src/cardinality.rs
index 8953a8568f..7994315adc 100644
--- a/datafusion/functions-nested/src/cardinality.rs
+++ b/datafusion/functions-nested/src/cardinality.rs
@@ -31,7 +31,7 @@ use datafusion_common::exec_err;
use datafusion_common::utils::{ListCoercion, take_function_args};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -105,10 +105,7 @@ impl ScalarUDFImpl for Cardinality {
Ok(UInt64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(cardinality_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/concat.rs
b/datafusion/functions-nested/src/concat.rs
index 78519d2de2..dc7fd92f68 100644
--- a/datafusion/functions-nested/src/concat.rs
+++ b/datafusion/functions-nested/src/concat.rs
@@ -39,7 +39,8 @@ use datafusion_common::{
};
use datafusion_expr::binary::type_union_resolution;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use itertools::Itertools;
@@ -117,10 +118,7 @@ impl ScalarUDFImpl for ArrayAppend {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_append_inner)(&args.args)
}
@@ -206,10 +204,7 @@ impl ScalarUDFImpl for ArrayPrepend {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_prepend_inner)(&args.args)
}
@@ -326,10 +321,7 @@ impl ScalarUDFImpl for ArrayConcat {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_concat_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/dimension.rs
b/datafusion/functions-nested/src/dimension.rs
index 93fd57afd8..0f0a5949eb 100644
--- a/datafusion/functions-nested/src/dimension.rs
+++ b/datafusion/functions-nested/src/dimension.rs
@@ -33,7 +33,8 @@ use datafusion_common::{Result, exec_err,
utils::take_function_args};
use crate::utils::{compute_array_dims, make_scalar_function};
use datafusion_common::utils::list_ndims;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use itertools::Itertools;
@@ -101,10 +102,7 @@ impl ScalarUDFImpl for ArrayDims {
Ok(DataType::new_list(UInt64, true))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_dims_inner)(&args.args)
}
@@ -173,10 +171,7 @@ impl ScalarUDFImpl for ArrayNdims {
Ok(UInt64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_ndims_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/distance.rs
b/datafusion/functions-nested/src/distance.rs
index f9c42c4144..817947a3e6 100644
--- a/datafusion/functions-nested/src/distance.rs
+++ b/datafusion/functions-nested/src/distance.rs
@@ -32,7 +32,8 @@ use datafusion_common::cast::{
use datafusion_common::utils::{ListCoercion, coerced_type_with_base_type_only};
use datafusion_common::{Result, exec_err, plan_err, utils::take_function_args};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_functions::downcast_arg;
use datafusion_macros::user_doc;
@@ -125,10 +126,7 @@ impl ScalarUDFImpl for ArrayDistance {
arg_types.try_collect()
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_distance_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/empty.rs
b/datafusion/functions-nested/src/empty.rs
index ca16e494b1..5ae5a05d6c 100644
--- a/datafusion/functions-nested/src/empty.rs
+++ b/datafusion/functions-nested/src/empty.rs
@@ -27,7 +27,8 @@ use arrow::datatypes::{
use datafusion_common::cast::as_generic_list_array;
use datafusion_common::{Result, exec_err, utils::take_function_args};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -94,10 +95,7 @@ impl ScalarUDFImpl for ArrayEmpty {
Ok(Boolean)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_empty_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/except.rs
b/datafusion/functions-nested/src/except.rs
index 136c6d6b7a..7fe2b3e754 100644
--- a/datafusion/functions-nested/src/except.rs
+++ b/datafusion/functions-nested/src/except.rs
@@ -30,7 +30,8 @@ use arrow::row::{RowConverter, SortField};
use datafusion_common::utils::{ListCoercion, take_function_args};
use datafusion_common::{HashSet, Result, internal_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use itertools::Itertools;
@@ -119,10 +120,7 @@ impl ScalarUDFImpl for ArrayExcept {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_except_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/extract.rs
b/datafusion/functions-nested/src/extract.rs
index 0f7246c858..71883e7986 100644
--- a/datafusion/functions-nested/src/extract.rs
+++ b/datafusion/functions-nested/src/extract.rs
@@ -39,7 +39,8 @@ use datafusion_common::{
utils::take_function_args,
};
use datafusion_expr::{
- ArrayFunctionArgument, ArrayFunctionSignature, Expr, TypeSignature,
+ ArrayFunctionArgument, ArrayFunctionSignature, Expr, ScalarFunctionArgs,
+ TypeSignature,
};
use datafusion_expr::{
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
@@ -172,10 +173,7 @@ impl ScalarUDFImpl for ArrayElement {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_element_inner)(&args.args)
}
@@ -395,10 +393,7 @@ impl ScalarUDFImpl for ArraySlice {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_slice_inner)(&args.args)
}
@@ -842,10 +837,7 @@ impl ScalarUDFImpl for ArrayPopFront {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_pop_front_inner)(&args.args)
}
@@ -938,10 +930,7 @@ impl ScalarUDFImpl for ArrayPopBack {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_pop_back_inner)(&args.args)
}
@@ -1043,10 +1032,7 @@ impl ScalarUDFImpl for ArrayAnyValue {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_any_value_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/flatten.rs
b/datafusion/functions-nested/src/flatten.rs
index 8c21348507..8b301a6d25 100644
--- a/datafusion/functions-nested/src/flatten.rs
+++ b/datafusion/functions-nested/src/flatten.rs
@@ -27,7 +27,8 @@ use arrow::datatypes::{
use datafusion_common::cast::{as_large_list_array, as_list_array};
use datafusion_common::{Result, exec_err, utils::take_function_args};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -114,10 +115,7 @@ impl ScalarUDFImpl for Flatten {
Ok(data_type)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(flatten_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/length.rs
b/datafusion/functions-nested/src/length.rs
index a9a2731c3b..77584f3ff4 100644
--- a/datafusion/functions-nested/src/length.rs
+++ b/datafusion/functions-nested/src/length.rs
@@ -32,7 +32,7 @@ use datafusion_common::cast::{
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_functions::downcast_arg;
use datafusion_macros::user_doc;
@@ -117,10 +117,7 @@ impl ScalarUDFImpl for ArrayLength {
Ok(UInt64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_length_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/make_array.rs
b/datafusion/functions-nested/src/make_array.rs
index bc899126fb..0a02e9507b 100644
--- a/datafusion/functions-nested/src/make_array.rs
+++ b/datafusion/functions-nested/src/make_array.rs
@@ -35,7 +35,8 @@ use datafusion_expr::binary::{
try_type_union_resolution_with_struct, type_union_resolution,
};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use itertools::Itertools as _;
@@ -109,10 +110,7 @@ impl ScalarUDFImpl for MakeArray {
Ok(DataType::new_list(element_type, true))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(make_array_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/map.rs
b/datafusion/functions-nested/src/map.rs
index 7df131cf5e..dad63ee014 100644
--- a/datafusion/functions-nested/src/map.rs
+++ b/datafusion/functions-nested/src/map.rs
@@ -29,7 +29,8 @@ use datafusion_common::{
};
use datafusion_expr::expr::ScalarFunction;
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, Expr, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -288,10 +289,7 @@ impl ScalarUDFImpl for MapFunc {
))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_map_batch(&args.args)
}
diff --git a/datafusion/functions-nested/src/map_entries.rs
b/datafusion/functions-nested/src/map_entries.rs
index 571b5aacaf..daa4d3100f 100644
--- a/datafusion/functions-nested/src/map_entries.rs
+++ b/datafusion/functions-nested/src/map_entries.rs
@@ -23,8 +23,8 @@ use arrow::datatypes::{DataType, Field, Fields};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, cast::as_map_array, exec_err};
use datafusion_expr::{
- ArrayFunctionSignature, ColumnarValue, Documentation, ScalarUDFImpl,
Signature,
- TypeSignature, Volatility,
+ ArrayFunctionSignature, ColumnarValue, Documentation, ScalarFunctionArgs,
+ ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -111,10 +111,7 @@ impl ScalarUDFImpl for MapEntriesFunc {
))))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_entries_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/map_extract.rs
b/datafusion/functions-nested/src/map_extract.rs
index 3d22d97c45..676696301e 100644
--- a/datafusion/functions-nested/src/map_extract.rs
+++ b/datafusion/functions-nested/src/map_extract.rs
@@ -26,7 +26,8 @@ use arrow::datatypes::{DataType, Field};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, cast::as_map_array, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -110,10 +111,7 @@ impl ScalarUDFImpl for MapExtract {
))))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_extract_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/map_keys.rs
b/datafusion/functions-nested/src/map_keys.rs
index c603340863..294c01ed02 100644
--- a/datafusion/functions-nested/src/map_keys.rs
+++ b/datafusion/functions-nested/src/map_keys.rs
@@ -23,8 +23,8 @@ use arrow::datatypes::{DataType, Field};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, cast::as_map_array, exec_err};
use datafusion_expr::{
- ArrayFunctionSignature, ColumnarValue, Documentation, ScalarUDFImpl,
Signature,
- TypeSignature, Volatility,
+ ArrayFunctionSignature, ColumnarValue, Documentation, ScalarFunctionArgs,
+ ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -101,10 +101,7 @@ impl ScalarUDFImpl for MapKeysFunc {
))))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_keys_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/map_values.rs
b/datafusion/functions-nested/src/map_values.rs
index 4cfb23d308..52286bcf75 100644
--- a/datafusion/functions-nested/src/map_values.rs
+++ b/datafusion/functions-nested/src/map_values.rs
@@ -23,8 +23,8 @@ use arrow::datatypes::{DataType, Field, FieldRef};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, cast::as_map_array, exec_err, internal_err};
use datafusion_expr::{
- ArrayFunctionSignature, ColumnarValue, Documentation, ScalarUDFImpl,
Signature,
- TypeSignature, Volatility,
+ ArrayFunctionSignature, ColumnarValue, Documentation, ScalarFunctionArgs,
+ ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -111,10 +111,7 @@ impl ScalarUDFImpl for MapValuesFunc {
.into())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_values_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/range.rs
b/datafusion/functions-nested/src/range.rs
index 307067b9c9..0893a1a40a 100644
--- a/datafusion/functions-nested/src/range.rs
+++ b/datafusion/functions-nested/src/range.rs
@@ -47,8 +47,8 @@ use datafusion_common::{
},
};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignature,
- TypeSignatureClass, Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignature, TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -252,10 +252,7 @@ impl ScalarUDFImpl for Range {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
if args.iter().any(|arg| arg.data_type().is_null()) {
diff --git a/datafusion/functions-nested/src/remove.rs
b/datafusion/functions-nested/src/remove.rs
index 3d4076800e..a65ecba795 100644
--- a/datafusion/functions-nested/src/remove.rs
+++ b/datafusion/functions-nested/src/remove.rs
@@ -30,7 +30,7 @@ use datafusion_common::utils::ListCoercion;
use datafusion_common::{Result, exec_err, internal_err,
utils::take_function_args};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -110,10 +110,7 @@ impl ScalarUDFImpl for ArrayRemove {
Ok(Arc::clone(&args.arg_fields[0]))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_remove_inner)(&args.args)
}
@@ -205,10 +202,7 @@ impl ScalarUDFImpl for ArrayRemoveN {
Ok(Arc::clone(&args.arg_fields[0]))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_remove_n_inner)(&args.args)
}
@@ -289,10 +283,7 @@ impl ScalarUDFImpl for ArrayRemoveAll {
Ok(Arc::clone(&args.arg_fields[0]))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_remove_all_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/repeat.rs
b/datafusion/functions-nested/src/repeat.rs
index 5e78a4d0f6..8b36d0934f 100644
--- a/datafusion/functions-nested/src/repeat.rs
+++ b/datafusion/functions-nested/src/repeat.rs
@@ -33,7 +33,8 @@ use datafusion_common::cast::{as_int64_array,
as_large_list_array, as_list_array
use datafusion_common::types::{NativeType, logical_int64};
use datafusion_common::{DataFusionError, Result};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
use datafusion_macros::user_doc;
@@ -133,10 +134,7 @@ impl ScalarUDFImpl for ArrayRepeat {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_repeat_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/replace.rs
b/datafusion/functions-nested/src/replace.rs
index 03524924e3..8753335661 100644
--- a/datafusion/functions-nested/src/replace.rs
+++ b/datafusion/functions-nested/src/replace.rs
@@ -29,7 +29,7 @@ use datafusion_common::utils::ListCoercion;
use datafusion_common::{Result, exec_err, utils::take_function_args};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
@@ -129,10 +129,7 @@ impl ScalarUDFImpl for ArrayReplace {
Ok(args[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_replace_inner)(&args.args)
}
@@ -211,10 +208,7 @@ impl ScalarUDFImpl for ArrayReplaceN {
Ok(args[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_replace_n_inner)(&args.args)
}
@@ -291,10 +285,7 @@ impl ScalarUDFImpl for ArrayReplaceAll {
Ok(args[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_replace_all_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/resize.rs
b/datafusion/functions-nested/src/resize.rs
index 486163df97..889b8f5975 100644
--- a/datafusion/functions-nested/src/resize.rs
+++ b/datafusion/functions-nested/src/resize.rs
@@ -34,7 +34,7 @@ use datafusion_common::utils::ListCoercion;
use datafusion_common::{Result, ScalarValue, exec_err,
internal_datafusion_err};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -136,10 +136,7 @@ impl ScalarUDFImpl for ArrayResize {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_resize_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/reverse.rs
b/datafusion/functions-nested/src/reverse.rs
index 114f9a0056..e1c749c7cd 100644
--- a/datafusion/functions-nested/src/reverse.rs
+++ b/datafusion/functions-nested/src/reverse.rs
@@ -34,7 +34,8 @@ use datafusion_common::cast::{
};
use datafusion_common::{Result, exec_err, utils::take_function_args};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use itertools::Itertools;
@@ -104,10 +105,7 @@ impl ScalarUDFImpl for ArrayReverse {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_reverse_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/set_ops.rs
b/datafusion/functions-nested/src/set_ops.rs
index 5f6663e693..4958a1ee7f 100644
--- a/datafusion/functions-nested/src/set_ops.rs
+++ b/datafusion/functions-nested/src/set_ops.rs
@@ -33,7 +33,8 @@ use datafusion_common::{
Result, assert_eq_or_internal_err, exec_err, internal_err,
utils::take_function_args,
};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use hashbrown::HashSet;
@@ -140,10 +141,7 @@ impl ScalarUDFImpl for ArrayUnion {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_union_inner)(&args.args)
}
@@ -230,10 +228,7 @@ impl ScalarUDFImpl for ArrayIntersect {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_intersect_inner)(&args.args)
}
@@ -301,10 +296,7 @@ impl ScalarUDFImpl for ArrayDistinct {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_distinct_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/sort.rs
b/datafusion/functions-nested/src/sort.rs
index cbe101f111..2562931691 100644
--- a/datafusion/functions-nested/src/sort.rs
+++ b/datafusion/functions-nested/src/sort.rs
@@ -28,7 +28,7 @@ use datafusion_common::utils::ListCoercion;
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
Documentation,
- ScalarUDFImpl, Signature, TypeSignature, Volatility,
+ ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -135,10 +135,7 @@ impl ScalarUDFImpl for ArraySort {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_sort_inner)(&args.args)
}
diff --git a/datafusion/functions-nested/src/string.rs
b/datafusion/functions-nested/src/string.rs
index ce72e878de..619e43f40b 100644
--- a/datafusion/functions-nested/src/string.rs
+++ b/datafusion/functions-nested/src/string.rs
@@ -48,8 +48,8 @@ use datafusion_common::exec_err;
use datafusion_common::types::logical_string;
use datafusion_expr::{
ArrayFunctionArgument, ArrayFunctionSignature, Coercion, ColumnarValue,
- Documentation, ScalarUDFImpl, Signature, TypeSignature, TypeSignatureClass,
- Volatility,
+ Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature, TypeSignature,
+ TypeSignatureClass, Volatility,
};
use datafusion_functions::downcast_arg;
use datafusion_macros::user_doc;
@@ -147,10 +147,7 @@ impl ScalarUDFImpl for ArrayToString {
Ok(Utf8)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(array_to_string_inner)(&args.args)
}
@@ -244,10 +241,7 @@ impl ScalarUDFImpl for StringToArray {
))))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args[0].data_type() {
Utf8 | Utf8View =>
make_scalar_function(string_to_array_inner::<i32>)(args),
diff --git a/datafusion/functions/src/core/version.rs
b/datafusion/functions/src/core/version.rs
index 436551184f..9c658d5918 100644
--- a/datafusion/functions/src/core/version.rs
+++ b/datafusion/functions/src/core/version.rs
@@ -99,6 +99,7 @@ mod test {
use super::*;
use arrow::datatypes::Field;
use datafusion_common::config::ConfigOptions;
+ use datafusion_expr::ScalarFunctionArgs;
use datafusion_expr::ScalarUDF;
use std::sync::Arc;
diff --git a/datafusion/functions/src/datetime/current_date.rs
b/datafusion/functions/src/datetime/current_date.rs
index 3e38772720..f0571b94fa 100644
--- a/datafusion/functions/src/datetime/current_date.rs
+++ b/datafusion/functions/src/datetime/current_date.rs
@@ -25,7 +25,8 @@ use chrono::{Datelike, NaiveDate, TimeZone};
use datafusion_common::{Result, ScalarValue, internal_err};
use datafusion_expr::simplify::{ExprSimplifyResult, SimplifyContext};
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, Expr, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -84,10 +85,7 @@ impl ScalarUDFImpl for CurrentDateFunc {
Ok(Date32)
}
- fn invoke_with_args(
- &self,
- _args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, _args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
internal_err!(
"invoke should not be called on a simplified current_date()
function"
)
diff --git a/datafusion/functions/src/datetime/current_time.rs
b/datafusion/functions/src/datetime/current_time.rs
index 855c0c13dc..2ac5cf96d0 100644
--- a/datafusion/functions/src/datetime/current_time.rs
+++ b/datafusion/functions/src/datetime/current_time.rs
@@ -24,7 +24,8 @@ use chrono::Timelike;
use datafusion_common::{Result, ScalarValue, internal_err};
use datafusion_expr::simplify::{ExprSimplifyResult, SimplifyContext};
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, Expr, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -84,10 +85,7 @@ impl ScalarUDFImpl for CurrentTimeFunc {
Ok(Time64(Nanosecond))
}
- fn invoke_with_args(
- &self,
- _args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, _args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
internal_err!(
"invoke should not be called on a simplified current_time()
function"
)
diff --git a/datafusion/functions/src/datetime/date_bin.rs
b/datafusion/functions/src/datetime/date_bin.rs
index c0984c1ea6..0dca23f46b 100644
--- a/datafusion/functions/src/datetime/date_bin.rs
+++ b/datafusion/functions/src/datetime/date_bin.rs
@@ -38,7 +38,8 @@ use datafusion_common::{Result, ScalarValue, exec_err,
not_impl_err, plan_err};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::sort_properties::{ExprProperties, SortProperties};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, TIMEZONE_WILDCARD,
Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ TIMEZONE_WILDCARD, Volatility,
};
use datafusion_macros::user_doc;
@@ -236,10 +237,7 @@ impl ScalarUDFImpl for DateBinFunc {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
if args.len() == 2 {
let origin = match args[1].data_type() {
@@ -839,7 +837,7 @@ mod tests {
use arrow_buffer::{IntervalDayTime, IntervalMonthDayNano};
use datafusion_common::{DataFusionError, ScalarValue};
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
use chrono::TimeDelta;
use datafusion_common::config::ConfigOptions;
@@ -854,7 +852,7 @@ mod tests {
.map(|arg| Field::new("a", arg.data_type(), true).into())
.collect::<Vec<_>>();
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args,
arg_fields,
number_rows,
diff --git a/datafusion/functions/src/datetime/date_part.rs
b/datafusion/functions/src/datetime/date_part.rs
index 8e93b238b2..7a60bb883a 100644
--- a/datafusion/functions/src/datetime/date_part.rs
+++ b/datafusion/functions/src/datetime/date_part.rs
@@ -51,8 +51,8 @@ use datafusion_common::{
use datafusion_expr::preimage::PreimageResult;
use datafusion_expr::simplify::SimplifyContext;
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ReturnFieldArgs, ScalarUDFImpl,
Signature,
- TypeSignature, Volatility, interval_arithmetic,
+ ColumnarValue, Documentation, Expr, ReturnFieldArgs, ScalarFunctionArgs,
+ ScalarUDFImpl, Signature, TypeSignature, Volatility, interval_arithmetic,
};
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
use datafusion_macros::user_doc;
@@ -183,10 +183,7 @@ impl ScalarUDFImpl for DatePartFunc {
)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
let [part, array] = take_function_args(self.name(), args)?;
diff --git a/datafusion/functions/src/datetime/date_trunc.rs
b/datafusion/functions/src/datetime/date_trunc.rs
index 8497e583ba..ef9896cead 100644
--- a/datafusion/functions/src/datetime/date_trunc.rs
+++ b/datafusion/functions/src/datetime/date_trunc.rs
@@ -42,8 +42,8 @@ use datafusion_common::{
};
use datafusion_expr::sort_properties::{ExprProperties, SortProperties};
use datafusion_expr::{
- ColumnarValue, Documentation, ReturnFieldArgs, ScalarUDFImpl, Signature,
- TypeSignature, Volatility,
+ ColumnarValue, Documentation, ReturnFieldArgs, ScalarFunctionArgs,
ScalarUDFImpl,
+ Signature, TypeSignature, Volatility,
};
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
use datafusion_macros::user_doc;
@@ -241,10 +241,7 @@ impl ScalarUDFImpl for DateTruncFunc {
)))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
let (granularity, array) = (&args[0], &args[1]);
@@ -769,7 +766,7 @@ mod tests {
use arrow::datatypes::{DataType, Field, TimeUnit};
use datafusion_common::ScalarValue;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
#[test]
fn date_trunc_test() {
@@ -1011,7 +1008,7 @@ mod tests {
Field::new("a", DataType::Utf8, false).into(),
Field::new("b", input.data_type().clone(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(ScalarValue::from("day")),
ColumnarValue::Array(Arc::new(input)),
@@ -1199,7 +1196,7 @@ mod tests {
Field::new("a", DataType::Utf8, false).into(),
Field::new("b", input.data_type().clone(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(ScalarValue::from("hour")),
ColumnarValue::Array(Arc::new(input)),
@@ -1367,7 +1364,7 @@ mod tests {
Field::new("a", DataType::Utf8, false).into(),
Field::new("b", input.data_type().clone(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(ScalarValue::from(*granularity)),
ColumnarValue::Array(Arc::new(input)),
diff --git a/datafusion/functions/src/datetime/from_unixtime.rs
b/datafusion/functions/src/datetime/from_unixtime.rs
index 574564dd45..05007ad113 100644
--- a/datafusion/functions/src/datetime/from_unixtime.rs
+++ b/datafusion/functions/src/datetime/from_unixtime.rs
@@ -24,7 +24,8 @@ use arrow::datatypes::{DataType, Field, FieldRef};
use datafusion_common::{Result, ScalarValue, exec_err, internal_err};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ReturnFieldArgs, ScalarUDFImpl, Signature,
Volatility,
+ ColumnarValue, Documentation, ReturnFieldArgs, ScalarFunctionArgs,
ScalarUDFImpl,
+ Signature, Volatility,
};
use datafusion_macros::user_doc;
@@ -118,10 +119,7 @@ impl ScalarUDFImpl for FromUnixtimeFunc {
internal_err!("call return_field_from_args instead")
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
let len = args.len();
if len != 1 && len != 2 {
@@ -167,13 +165,13 @@ mod test {
use datafusion_common::ScalarValue;
use datafusion_common::ScalarValue::Int64;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
use std::sync::Arc;
#[test]
fn test_without_timezone() {
let arg_field = Arc::new(Field::new("a", DataType::Int64, true));
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![ColumnarValue::Scalar(Int64(Some(1729900800)))],
arg_fields: vec![arg_field],
number_rows: 1,
@@ -196,7 +194,7 @@ mod test {
Field::new("a", DataType::Int64, true).into(),
Field::new("a", DataType::Utf8, true).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(Int64(Some(1729900800))),
ColumnarValue::Scalar(ScalarValue::Utf8(Some(
diff --git a/datafusion/functions/src/datetime/make_date.rs
b/datafusion/functions/src/datetime/make_date.rs
index 8a87809c43..a816db0921 100644
--- a/datafusion/functions/src/datetime/make_date.rs
+++ b/datafusion/functions/src/datetime/make_date.rs
@@ -29,8 +29,8 @@ use chrono::prelude::*;
use datafusion_common::types::{NativeType, logical_int32, logical_string};
use datafusion_common::{Result, ScalarValue, exec_err,
utils::take_function_args};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignatureClass,
- Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
@@ -112,10 +112,7 @@ impl ScalarUDFImpl for MakeDateFunc {
Ok(Date32)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let [years, months, days] = take_function_args(self.name(),
args.args)?;
match (years, months, days) {
diff --git a/datafusion/functions/src/datetime/make_time.rs
b/datafusion/functions/src/datetime/make_time.rs
index 5775ce851a..72cca1e0ff 100644
--- a/datafusion/functions/src/datetime/make_time.rs
+++ b/datafusion/functions/src/datetime/make_time.rs
@@ -29,7 +29,8 @@ use chrono::prelude::*;
use datafusion_common::types::{NativeType, logical_int32, logical_string};
use datafusion_common::{Result, ScalarValue, exec_err,
utils::take_function_args};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
use datafusion_macros::user_doc;
@@ -112,10 +113,7 @@ impl ScalarUDFImpl for MakeTimeFunc {
Ok(Time32(TimeUnit::Second))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let [hours, minutes, seconds] = take_function_args(self.name(),
args.args)?;
match (hours, minutes, seconds) {
@@ -213,7 +211,7 @@ mod tests {
use arrow::datatypes::{DataType, Field};
use datafusion_common::DataFusionError;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
use std::sync::Arc;
fn invoke_make_time_with_args(
@@ -224,7 +222,7 @@ mod tests {
.iter()
.map(|arg| Field::new("a", arg.data_type(), true).into())
.collect::<Vec<_>>();
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args,
arg_fields,
number_rows,
diff --git a/datafusion/functions/src/datetime/now.rs
b/datafusion/functions/src/datetime/now.rs
index 338a62a118..bd67e4cfcb 100644
--- a/datafusion/functions/src/datetime/now.rs
+++ b/datafusion/functions/src/datetime/now.rs
@@ -25,8 +25,8 @@ use datafusion_common::config::ConfigOptions;
use datafusion_common::{Result, ScalarValue, internal_err};
use datafusion_expr::simplify::{ExprSimplifyResult, SimplifyContext};
use datafusion_expr::{
- ColumnarValue, Documentation, Expr, ReturnFieldArgs, ScalarUDF,
ScalarUDFImpl,
- Signature, Volatility,
+ ColumnarValue, Documentation, Expr, ReturnFieldArgs, ScalarFunctionArgs,
ScalarUDF,
+ ScalarUDFImpl, Signature, Volatility,
};
use datafusion_macros::user_doc;
@@ -112,10 +112,7 @@ impl ScalarUDFImpl for NowFunc {
internal_err!("return_field_from_args should be called instead")
}
- fn invoke_with_args(
- &self,
- _args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, _args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
internal_err!("invoke should not be called on a simplified now()
function")
}
diff --git a/datafusion/functions/src/datetime/to_char.rs
b/datafusion/functions/src/datetime/to_char.rs
index 4ceaac1cc8..6caff4f7c7 100644
--- a/datafusion/functions/src/datetime/to_char.rs
+++ b/datafusion/functions/src/datetime/to_char.rs
@@ -31,7 +31,8 @@ use arrow::util::display::{ArrayFormatter, DurationFormat,
FormatOptions};
use datafusion_common::{Result, ScalarValue, exec_err,
utils::take_function_args};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, TIMEZONE_WILDCARD,
Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ TIMEZONE_WILDCARD, Volatility,
};
use datafusion_macros::user_doc;
@@ -135,10 +136,7 @@ impl ScalarUDFImpl for ToCharFunc {
Ok(Utf8)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
let [date_time, format] = take_function_args(self.name(), &args)?;
@@ -309,7 +307,7 @@ mod tests {
use chrono::{NaiveDateTime, Timelike};
use datafusion_common::ScalarValue;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
use std::sync::Arc;
#[test]
@@ -325,7 +323,7 @@ mod tests {
let value_data_type = value.data_type().clone();
let format_data_type = format.data_type().clone();
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Array(value),
ColumnarValue::Array(Arc::new(format) as ArrayRef),
@@ -436,7 +434,7 @@ mod tests {
Field::new("a", value.data_type(), false).into(),
Field::new("a", format.data_type(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![ColumnarValue::Scalar(value),
ColumnarValue::Scalar(format)],
arg_fields,
number_rows: 1,
@@ -527,7 +525,7 @@ mod tests {
Field::new("a", value.data_type(), false).into(),
Field::new("a", format.data_type().to_owned(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(value),
ColumnarValue::Array(Arc::new(format) as ArrayRef),
@@ -691,7 +689,7 @@ mod tests {
Field::new("a", value.data_type().clone(), false).into(),
Field::new("a", format.data_type(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Array(value as ArrayRef),
ColumnarValue::Scalar(format),
@@ -719,7 +717,7 @@ mod tests {
Field::new("a", value.data_type().clone(), false).into(),
Field::new("a", format.data_type().clone(), false).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Array(value),
ColumnarValue::Array(Arc::new(format) as ArrayRef),
@@ -747,7 +745,7 @@ mod tests {
// invalid number of arguments
let arg_field = Field::new("a", DataType::Int32, true).into();
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![ColumnarValue::Scalar(ScalarValue::Int32(Some(1)))],
arg_fields: vec![arg_field],
number_rows: 1,
@@ -765,7 +763,7 @@ mod tests {
Field::new("a", DataType::Utf8, true).into(),
Field::new("a", DataType::Timestamp(TimeUnit::Nanosecond, None),
true).into(),
];
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args: vec![
ColumnarValue::Scalar(ScalarValue::Int32(Some(1))),
ColumnarValue::Scalar(ScalarValue::TimestampNanosecond(Some(1), None)),
diff --git a/datafusion/functions/src/datetime/to_date.rs
b/datafusion/functions/src/datetime/to_date.rs
index 60c6fdf2df..55801b5db4 100644
--- a/datafusion/functions/src/datetime/to_date.rs
+++ b/datafusion/functions/src/datetime/to_date.rs
@@ -24,7 +24,8 @@ use arrow::{array::types::Date32Type,
compute::kernels::cast_utils::Parser};
use datafusion_common::format::DEFAULT_CAST_OPTIONS;
use datafusion_common::{Result, arrow_err, exec_err, internal_datafusion_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -133,10 +134,7 @@ impl ScalarUDFImpl for ToDateFunc {
Ok(Date32)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
if args.is_empty() {
return exec_err!("to_date function requires 1 or more arguments,
got 0");
@@ -204,7 +202,7 @@ mod tests {
use arrow::{compute::kernels::cast_utils::Parser, datatypes::Date32Type};
use datafusion_common::config::ConfigOptions;
use datafusion_common::{DataFusionError, ScalarValue};
- use datafusion_expr::{ColumnarValue, ScalarUDFImpl};
+ use datafusion_expr::{ColumnarValue, ScalarFunctionArgs, ScalarUDFImpl};
use std::sync::Arc;
fn invoke_to_date_with_args(
@@ -216,7 +214,7 @@ mod tests {
.map(|arg| Field::new("a", arg.data_type(), true).into())
.collect::<Vec<_>>();
- let args = datafusion_expr::ScalarFunctionArgs {
+ let args = ScalarFunctionArgs {
args,
arg_fields,
number_rows,
diff --git a/datafusion/functions/src/datetime/to_local_time.rs
b/datafusion/functions/src/datetime/to_local_time.rs
index 0500497a15..335250b377 100644
--- a/datafusion/functions/src/datetime/to_local_time.rs
+++ b/datafusion/functions/src/datetime/to_local_time.rs
@@ -35,8 +35,8 @@ use datafusion_common::{
utils::take_function_args,
};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignatureClass,
- Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
@@ -143,10 +143,7 @@ impl ScalarUDFImpl for ToLocalTimeFunc {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let [time_value] = take_function_args(self.name(), &args.args)?;
to_local_time(time_value)
}
diff --git a/datafusion/functions/src/datetime/to_time.rs
b/datafusion/functions/src/datetime/to_time.rs
index 086126409e..952e68c488 100644
--- a/datafusion/functions/src/datetime/to_time.rs
+++ b/datafusion/functions/src/datetime/to_time.rs
@@ -26,7 +26,8 @@ use arrow::datatypes::DataType::*;
use chrono::NaiveTime;
use datafusion_common::{Result, ScalarValue, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -116,10 +117,7 @@ impl ScalarUDFImpl for ToTimeFunc {
Ok(Time64(arrow::datatypes::TimeUnit::Nanosecond))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = args.args;
if args.is_empty() {
return exec_err!("to_time function requires 1 or more arguments,
got 0");
diff --git a/datafusion/functions/src/datetime/to_timestamp.rs
b/datafusion/functions/src/datetime/to_timestamp.rs
index 6d40133bd2..08839041e5 100644
--- a/datafusion/functions/src/datetime/to_timestamp.rs
+++ b/datafusion/functions/src/datetime/to_timestamp.rs
@@ -33,7 +33,8 @@ use arrow::datatypes::{
use datafusion_common::config::ConfigOptions;
use datafusion_common::{Result, ScalarType, ScalarValue, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDF, ScalarUDFImpl, Signature,
Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDF, ScalarUDFImpl,
+ Signature, Volatility,
};
use datafusion_macros::user_doc;
@@ -405,11 +406,8 @@ impl ScalarUDFImpl for ToTimestampFunc {
impl_with_updated_config!();
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
- let datafusion_expr::ScalarFunctionArgs { args, .. } = args;
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
+ let ScalarFunctionArgs { args, .. } = args;
if args.is_empty() {
return exec_err!(
@@ -518,11 +516,8 @@ impl ScalarUDFImpl for ToTimestampSecondsFunc {
impl_with_updated_config!();
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
- let datafusion_expr::ScalarFunctionArgs { args, .. } = args;
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
+ let ScalarFunctionArgs { args, .. } = args;
if args.is_empty() {
return exec_err!(
@@ -594,11 +589,8 @@ impl ScalarUDFImpl for ToTimestampMillisFunc {
impl_with_updated_config!();
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
- let datafusion_expr::ScalarFunctionArgs { args, .. } = args;
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
+ let ScalarFunctionArgs { args, .. } = args;
if args.is_empty() {
return exec_err!(
@@ -670,11 +662,8 @@ impl ScalarUDFImpl for ToTimestampMicrosFunc {
impl_with_updated_config!();
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
- let datafusion_expr::ScalarFunctionArgs { args, .. } = args;
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
+ let ScalarFunctionArgs { args, .. } = args;
if args.is_empty() {
return exec_err!(
@@ -746,11 +735,8 @@ impl ScalarUDFImpl for ToTimestampNanosFunc {
impl_with_updated_config!();
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
- let datafusion_expr::ScalarFunctionArgs { args, .. } = args;
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
+ let ScalarFunctionArgs { args, .. } = args;
if args.is_empty() {
return exec_err!(
diff --git a/datafusion/functions/src/datetime/to_unixtime.rs
b/datafusion/functions/src/datetime/to_unixtime.rs
index 2dd3772827..ea8103865e 100644
--- a/datafusion/functions/src/datetime/to_unixtime.rs
+++ b/datafusion/functions/src/datetime/to_unixtime.rs
@@ -20,7 +20,8 @@ use crate::datetime::common::*;
use arrow::datatypes::{DataType, TimeUnit};
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -95,10 +96,7 @@ impl ScalarUDFImpl for ToUnixtimeFunc {
Ok(DataType::Int64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let arg_args = &args.args;
if arg_args.is_empty() {
return exec_err!("to_unixtime function requires 1 or more
arguments, got 0");
diff --git a/datafusion/functions/src/regex/regexpcount.rs
b/datafusion/functions/src/regex/regexpcount.rs
index 7792d8098a..30257e62cc 100644
--- a/datafusion/functions/src/regex/regexpcount.rs
+++ b/datafusion/functions/src/regex/regexpcount.rs
@@ -24,8 +24,8 @@ use arrow::datatypes::{
use arrow::error::ArrowError;
use datafusion_common::{Result, ScalarValue, exec_err, internal_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignature::Exact,
- TypeSignature::Uniform, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ TypeSignature::Exact, TypeSignature::Uniform, Volatility,
};
use datafusion_macros::user_doc;
use itertools::izip;
@@ -108,10 +108,7 @@ impl ScalarUDFImpl for RegexpCountFunc {
Ok(Int64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
let len = args
@@ -592,7 +589,6 @@ mod tests {
use arrow::array::{GenericStringArray, StringViewArray};
use arrow::datatypes::Field;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::ScalarFunctionArgs;
#[test]
fn test_regexp_count() {
diff --git a/datafusion/functions/src/regex/regexpinstr.rs
b/datafusion/functions/src/regex/regexpinstr.rs
index dce689a0c2..608310ce6e 100644
--- a/datafusion/functions/src/regex/regexpinstr.rs
+++ b/datafusion/functions/src/regex/regexpinstr.rs
@@ -25,8 +25,8 @@ use arrow::datatypes::{
use arrow::error::ArrowError;
use datafusion_common::{Result, ScalarValue, exec_err, internal_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignature::Exact,
- TypeSignature::Uniform, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ TypeSignature::Exact, TypeSignature::Uniform, Volatility,
};
use datafusion_macros::user_doc;
use itertools::izip;
@@ -125,10 +125,7 @@ impl ScalarUDFImpl for RegexpInstrFunc {
Ok(Int64)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
let len = args
@@ -453,7 +450,6 @@ mod tests {
use arrow::array::{GenericStringArray, StringViewArray};
use arrow::datatypes::Field;
use datafusion_common::config::ConfigOptions;
- use datafusion_expr::ScalarFunctionArgs;
#[test]
fn test_regexp_instr() {
test_case_sensitive_regexp_instr_nulls();
diff --git a/datafusion/functions/src/regex/regexplike.rs
b/datafusion/functions/src/regex/regexplike.rs
index b2df38a679..68c81eaa57 100644
--- a/datafusion/functions/src/regex/regexplike.rs
+++ b/datafusion/functions/src/regex/regexplike.rs
@@ -26,8 +26,8 @@ use datafusion_common::{
Result, ScalarValue, arrow_datafusion_err, exec_err, internal_err,
plan_err,
};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, Expr, ScalarUDFImpl, Signature,
- TypeSignature, TypeSignatureClass, Volatility, binary_expr, cast,
+ Coercion, ColumnarValue, Documentation, Expr, ScalarFunctionArgs,
ScalarUDFImpl,
+ Signature, TypeSignature, TypeSignatureClass, Volatility, binary_expr,
cast,
};
use datafusion_macros::user_doc;
@@ -126,10 +126,7 @@ impl ScalarUDFImpl for RegexpLikeFunc {
})
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args.as_slice() {
[ColumnarValue::Scalar(value), ColumnarValue::Scalar(pattern)] => {
diff --git a/datafusion/functions/src/regex/regexpmatch.rs
b/datafusion/functions/src/regex/regexpmatch.rs
index e026d16e1c..1a96e09526 100644
--- a/datafusion/functions/src/regex/regexpmatch.rs
+++ b/datafusion/functions/src/regex/regexpmatch.rs
@@ -24,7 +24,7 @@ use datafusion_common::Result;
use datafusion_common::ScalarValue;
use datafusion_common::exec_err;
use datafusion_common::{arrow_datafusion_err, plan_err};
-use datafusion_expr::{ColumnarValue, Documentation, TypeSignature};
+use datafusion_expr::{ColumnarValue, Documentation, ScalarFunctionArgs,
TypeSignature};
use datafusion_expr::{ScalarUDFImpl, Signature, Volatility};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -119,10 +119,7 @@ impl ScalarUDFImpl for RegexpMatchFunc {
})
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
let len = args
.iter()
diff --git a/datafusion/functions/src/regex/regexpreplace.rs
b/datafusion/functions/src/regex/regexpreplace.rs
index 68e324e21c..4e8ffa3385 100644
--- a/datafusion/functions/src/regex/regexpreplace.rs
+++ b/datafusion/functions/src/regex/regexpreplace.rs
@@ -36,7 +36,9 @@ use datafusion_common::{
use datafusion_expr::ColumnarValue;
use datafusion_expr::TypeSignature;
use datafusion_expr::function::Hint;
-use datafusion_expr::{Documentation, ScalarUDFImpl, Signature, Volatility};
+use datafusion_expr::{
+ Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature, Volatility,
+};
use datafusion_macros::user_doc;
use regex::Regex;
use std::any::Any;
@@ -149,10 +151,7 @@ impl ScalarUDFImpl for RegexpReplaceFunc {
})
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
let len = args
diff --git a/datafusion/functions/src/unicode/character_length.rs
b/datafusion/functions/src/unicode/character_length.rs
index 1073fa060d..052baf32df 100644
--- a/datafusion/functions/src/unicode/character_length.rs
+++ b/datafusion/functions/src/unicode/character_length.rs
@@ -23,7 +23,8 @@ use arrow::array::{
use arrow::datatypes::{ArrowNativeType, DataType, Int32Type, Int64Type};
use datafusion_common::Result;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -88,10 +89,7 @@ impl ScalarUDFImpl for CharacterLengthFunc {
utf8_to_int_type(&arg_types[0], "character_length")
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(character_length, vec![])(&args.args)
}
diff --git a/datafusion/functions/src/unicode/initcap.rs
b/datafusion/functions/src/unicode/initcap.rs
index a0cae69c52..d1f6184363 100644
--- a/datafusion/functions/src/unicode/initcap.rs
+++ b/datafusion/functions/src/unicode/initcap.rs
@@ -30,8 +30,8 @@ use datafusion_common::cast::{as_generic_string_array,
as_string_view_array};
use datafusion_common::types::logical_string;
use datafusion_common::{Result, ScalarValue, exec_err};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignatureClass,
- Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
@@ -97,10 +97,7 @@ impl ScalarUDFImpl for InitcapFunc {
}
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let arg = &args.args[0];
// Scalar fast path - handle directly without array conversion
diff --git a/datafusion/functions/src/unicode/left.rs
b/datafusion/functions/src/unicode/left.rs
index 76873e7f5d..4ff38e52ce 100644
--- a/datafusion/functions/src/unicode/left.rs
+++ b/datafusion/functions/src/unicode/left.rs
@@ -24,7 +24,8 @@ use datafusion_common::Result;
use datafusion_common::exec_err;
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -92,10 +93,7 @@ impl ScalarUDFImpl for LeftFunc {
/// left('abcde', 2) = 'ab'
/// left('abcde', -2) = 'abc'
/// The implementation uses UTF-8 code points as characters
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args[0].data_type() {
DataType::Utf8 | DataType::Utf8View | DataType::LargeUtf8 => {
diff --git a/datafusion/functions/src/unicode/lpad.rs
b/datafusion/functions/src/unicode/lpad.rs
index 50d15c7d62..3dc70c56a4 100644
--- a/datafusion/functions/src/unicode/lpad.rs
+++ b/datafusion/functions/src/unicode/lpad.rs
@@ -32,7 +32,8 @@ use datafusion_common::cast::as_int64_array;
use datafusion_common::{Result, exec_err};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -112,10 +113,7 @@ impl ScalarUDFImpl for LPadFunc {
utf8_to_str_type(&arg_types[0], "lpad")
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args[0].data_type() {
Utf8 | Utf8View => make_scalar_function(lpad::<i32>, vec![])(args),
diff --git a/datafusion/functions/src/unicode/reverse.rs
b/datafusion/functions/src/unicode/reverse.rs
index 7b501c0a65..8f265d8659 100644
--- a/datafusion/functions/src/unicode/reverse.rs
+++ b/datafusion/functions/src/unicode/reverse.rs
@@ -27,7 +27,8 @@ use arrow::array::{
use arrow::datatypes::DataType;
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -86,10 +87,7 @@ impl ScalarUDFImpl for ReverseFunc {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args[0].data_type() {
Utf8 | Utf8View | LargeUtf8 => make_scalar_function(reverse,
vec![])(args),
diff --git a/datafusion/functions/src/unicode/right.rs
b/datafusion/functions/src/unicode/right.rs
index a97e242b73..bbb7770661 100644
--- a/datafusion/functions/src/unicode/right.rs
+++ b/datafusion/functions/src/unicode/right.rs
@@ -24,7 +24,8 @@ use datafusion_common::Result;
use datafusion_common::exec_err;
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -92,10 +93,7 @@ impl ScalarUDFImpl for RightFunc {
/// right('abcde', 2) = 'de'
/// right('abcde', -2) = 'cde'
/// The implementation uses UTF-8 code points as characters
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match args[0].data_type() {
DataType::Utf8 | DataType::Utf8View | DataType::LargeUtf8 => {
diff --git a/datafusion/functions/src/unicode/rpad.rs
b/datafusion/functions/src/unicode/rpad.rs
index 95d9492bc2..5d8ed68865 100644
--- a/datafusion/functions/src/unicode/rpad.rs
+++ b/datafusion/functions/src/unicode/rpad.rs
@@ -27,7 +27,8 @@ use datafusion_common::cast::as_int64_array;
use datafusion_common::{Result, exec_err};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
use std::any::Any;
@@ -111,10 +112,7 @@ impl ScalarUDFImpl for RPadFunc {
utf8_to_str_type(&arg_types[0], "rpad")
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
let args = &args.args;
match (
args.len(),
diff --git a/datafusion/functions/src/unicode/strpos.rs
b/datafusion/functions/src/unicode/strpos.rs
index c1d6ecffe5..ee854c3c9d 100644
--- a/datafusion/functions/src/unicode/strpos.rs
+++ b/datafusion/functions/src/unicode/strpos.rs
@@ -28,8 +28,8 @@ use arrow::datatypes::{
use datafusion_common::types::logical_string;
use datafusion_common::{Result, exec_err, internal_err};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignatureClass,
- Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
use memchr::memchr;
@@ -110,10 +110,7 @@ impl ScalarUDFImpl for StrposFunc {
)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(strpos, vec![])(&args.args)
}
diff --git a/datafusion/functions/src/unicode/substr.rs
b/datafusion/functions/src/unicode/substr.rs
index 505388089f..737730cf88 100644
--- a/datafusion/functions/src/unicode/substr.rs
+++ b/datafusion/functions/src/unicode/substr.rs
@@ -32,8 +32,8 @@ use datafusion_common::types::{
};
use datafusion_common::{Result, exec_err};
use datafusion_expr::{
- Coercion, ColumnarValue, Documentation, ScalarUDFImpl, Signature,
TypeSignature,
- TypeSignatureClass, Volatility,
+ Coercion, ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ TypeSignature, TypeSignatureClass, Volatility,
};
use datafusion_macros::user_doc;
@@ -121,10 +121,7 @@ impl ScalarUDFImpl for SubstrFunc {
Ok(DataType::Utf8View)
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(substr, vec![])(&args.args)
}
diff --git a/datafusion/functions/src/unicode/substrindex.rs
b/datafusion/functions/src/unicode/substrindex.rs
index 6389dc92c2..11f6a7a295 100644
--- a/datafusion/functions/src/unicode/substrindex.rs
+++ b/datafusion/functions/src/unicode/substrindex.rs
@@ -28,7 +28,8 @@ use crate::utils::{make_scalar_function, utf8_to_str_type};
use datafusion_common::{Result, exec_err, utils::take_function_args};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -108,10 +109,7 @@ impl ScalarUDFImpl for SubstrIndexFunc {
utf8_to_str_type(&arg_types[0], "substr_index")
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(substr_index, vec![])(&args.args)
}
diff --git a/datafusion/functions/src/unicode/translate.rs
b/datafusion/functions/src/unicode/translate.rs
index 69ba288e42..b212242dce 100644
--- a/datafusion/functions/src/unicode/translate.rs
+++ b/datafusion/functions/src/unicode/translate.rs
@@ -29,7 +29,8 @@ use crate::utils::make_scalar_function;
use datafusion_common::{Result, exec_err};
use datafusion_expr::TypeSignature::Exact;
use datafusion_expr::{
- ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
+ Volatility,
};
use datafusion_macros::user_doc;
@@ -96,10 +97,7 @@ impl ScalarUDFImpl for TranslateFunc {
Ok(arg_types[0].clone())
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
// When from and to are scalars, pre-build the translation map once
if let (Some(from_str), Some(to_str)) = (
try_as_scalar_str(&args.args[1]),
diff --git a/datafusion/physical-expr/src/scalar_function.rs
b/datafusion/physical-expr/src/scalar_function.rs
index dab4153fa6..bbc03a5d14 100644
--- a/datafusion/physical-expr/src/scalar_function.rs
+++ b/datafusion/physical-expr/src/scalar_function.rs
@@ -375,7 +375,7 @@ mod tests {
use super::*;
use crate::expressions::Column;
use arrow::datatypes::{DataType, Field, Schema};
- use datafusion_expr::{ScalarUDF, ScalarUDFImpl, Signature};
+ use datafusion_expr::{ScalarUDFImpl, Signature};
use datafusion_physical_expr_common::physical_expr::is_volatile;
use std::any::Any;
diff --git a/datafusion/spark/src/function/array/shuffle.rs
b/datafusion/spark/src/function/array/shuffle.rs
index 8051825acc..bb3b02449a 100644
--- a/datafusion/spark/src/function/array/shuffle.rs
+++ b/datafusion/spark/src/function/array/shuffle.rs
@@ -30,8 +30,8 @@ use datafusion_common::{
Result, ScalarValue, exec_err, internal_err, utils::take_function_args,
};
use datafusion_expr::{
- ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
ScalarUDFImpl,
- Signature, TypeSignature, Volatility,
+ ArrayFunctionArgument, ArrayFunctionSignature, ColumnarValue,
ScalarFunctionArgs,
+ ScalarUDFImpl, Signature, TypeSignature, Volatility,
};
use rand::rng;
use rand::rngs::StdRng;
@@ -101,10 +101,7 @@ impl ScalarUDFImpl for SparkShuffle {
Ok(Arc::clone(&args.arg_fields[0]))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
if args.args.is_empty() || args.args.len() > 2 {
return exec_err!("shuffle expects 1 or 2 argument(s)");
}
diff --git a/datafusion/spark/src/function/map/map_from_arrays.rs
b/datafusion/spark/src/function/map/map_from_arrays.rs
index 429ed272d7..5aba42feb9 100644
--- a/datafusion/spark/src/function/map/map_from_arrays.rs
+++ b/datafusion/spark/src/function/map/map_from_arrays.rs
@@ -27,7 +27,8 @@ use arrow::datatypes::{DataType, Field, FieldRef};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, internal_err};
use datafusion_expr::{
- ColumnarValue, ReturnFieldArgs, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, ReturnFieldArgs, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility,
};
use datafusion_functions::utils::make_scalar_function;
use std::sync::Arc;
@@ -85,10 +86,7 @@ impl ScalarUDFImpl for MapFromArrays {
Ok(Arc::new(Field::new(self.name(), map_type, nullable)))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_from_arrays_inner, vec![])(&args.args)
}
}
diff --git a/datafusion/spark/src/function/map/map_from_entries.rs
b/datafusion/spark/src/function/map/map_from_entries.rs
index 6b2114863d..364f197830 100644
--- a/datafusion/spark/src/function/map/map_from_entries.rs
+++ b/datafusion/spark/src/function/map/map_from_entries.rs
@@ -28,7 +28,8 @@ use arrow::datatypes::{DataType, Field, FieldRef};
use datafusion_common::utils::take_function_args;
use datafusion_common::{Result, exec_err, internal_err};
use datafusion_expr::{
- ColumnarValue, ReturnFieldArgs, ScalarUDFImpl, Signature, Volatility,
+ ColumnarValue, ReturnFieldArgs, ScalarFunctionArgs, ScalarUDFImpl,
Signature,
+ Volatility,
};
use datafusion_functions::utils::make_scalar_function;
@@ -104,10 +105,7 @@ impl ScalarUDFImpl for MapFromEntries {
Ok(Arc::new(Field::new(self.name(), map_type, nullable)))
}
- fn invoke_with_args(
- &self,
- args: datafusion_expr::ScalarFunctionArgs,
- ) -> Result<ColumnarValue> {
+ fn invoke_with_args(&self, args: ScalarFunctionArgs) ->
Result<ColumnarValue> {
make_scalar_function(map_from_entries_inner, vec![])(&args.args)
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]