You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datafusion.apache.org by al...@apache.org on 2025/05/02 19:47:10 UTC

(datafusion) branch main updated: Minor: cleanup datafusion-spark scalar functions (#15921)

This is an automated email from the ASF dual-hosted git repository.

alamb 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 47518aac49 Minor: cleanup datafusion-spark scalar functions (#15921)
47518aac49 is described below

commit 47518aac495f5f4b9bc728b015c594682fb8a16b
Author: Andrew Lamb <an...@nerdnetworks.org>
AuthorDate: Fri May 2 15:47:06 2025 -0400

    Minor: cleanup datafusion-spark scalar functions (#15921)
---
 datafusion/spark/src/function/utils.rs | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/datafusion/spark/src/function/utils.rs b/datafusion/spark/src/function/utils.rs
index 57505170c2..67ec76ba52 100644
--- a/datafusion/spark/src/function/utils.rs
+++ b/datafusion/spark/src/function/utils.rs
@@ -28,7 +28,7 @@ pub mod test {
             let expected: datafusion_common::Result<Option<$EXPECTED_TYPE>> = $EXPECTED;
             let func = $FUNC;
 
-            let arg_fields_owned = $ARGS
+            let arg_fields_owned: Vec<arrow::datatypes::Field> = $ARGS
                 .iter()
                 .enumerate()
                 .map(|(idx, arg)| {
@@ -42,6 +42,8 @@ pub mod test {
             })
                 .collect::<Vec<_>>();
 
+            let arg_fields: Vec<&arrow::datatypes::Field> = arg_fields_owned.iter().collect();
+
             let cardinality = $ARGS
                 .iter()
                 .fold(Option::<usize>::None, |acc, arg| match arg {
@@ -67,7 +69,12 @@ pub mod test {
                     let return_field = return_field.unwrap();
                     assert_eq!(return_field.data_type(), &$EXPECTED_DATA_TYPE);
 
-                    let result = func.invoke_with_args(datafusion_expr::ScalarFunctionArgs{args: $ARGS, number_rows: cardinality, return_field: &return_field, arg_fields: arg_fields_owned.iter().collect()});
+                    let result = func.invoke_with_args(datafusion_expr::ScalarFunctionArgs{
+                        args: $ARGS,
+                        number_rows: cardinality,
+                        return_field: &return_field,
+                        arg_fields: arg_fields.clone(),
+                    });
                     assert_eq!(result.is_ok(), true, "function returned an error: {}", result.unwrap_err());
 
                     let result = result.unwrap().to_array(cardinality).expect("Failed to convert to array");
@@ -91,7 +98,12 @@ pub mod test {
                         let return_field = return_field.unwrap();
 
                         // invoke is expected error - cannot use .expect_err() due to Debug not being implemented
-                        match func.invoke_with_args(datafusion_expr::ScalarFunctionArgs{args: $ARGS, number_rows: cardinality,  return_field: &return_field, arg_fields: arg_fields_owned.iter().collect()}) {
+                        match func.invoke_with_args(datafusion_expr::ScalarFunctionArgs{
+                            args: $ARGS,
+                            number_rows: cardinality,
+                            return_field: &return_field,
+                            arg_fields,
+                        }) {
                             Ok(_) => assert!(false, "expected error"),
                             Err(error) => {
                                 assert!(expected_error.strip_backtrace().starts_with(&error.strip_backtrace()));


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datafusion.apache.org
For additional commands, e-mail: commits-help@datafusion.apache.org