From a7e742f951ddd14972488edd05d6ea8a6b092b94 Mon Sep 17 00:00:00 2001 From: sidshehria Date: Wed, 19 Feb 2025 21:18:48 +0530 Subject: [PATCH 1/3] migrated all the UDFS to invoke_with_args --- datafusion/functions/src/unicode/character_length.rs | 2 +- datafusion/functions/src/unicode/initcap.rs | 2 +- datafusion/functions/src/unicode/left.rs | 2 +- datafusion/functions/src/unicode/lpad.rs | 2 +- datafusion/functions/src/unicode/reverse.rs | 2 +- datafusion/functions/src/unicode/right.rs | 2 +- datafusion/functions/src/unicode/rpad.rs | 2 +- datafusion/functions/src/unicode/strpos.rs | 2 +- datafusion/functions/src/unicode/substr.rs | 2 +- datafusion/functions/src/unicode/substrindex.rs | 2 +- datafusion/functions/src/unicode/translate.rs | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/datafusion/functions/src/unicode/character_length.rs b/datafusion/functions/src/unicode/character_length.rs index 6ef0871f368b..db4634033da3 100644 --- a/datafusion/functions/src/unicode/character_length.rs +++ b/datafusion/functions/src/unicode/character_length.rs @@ -88,7 +88,7 @@ impl ScalarUDFImpl for CharacterLengthFunc { utf8_to_int_type(&arg_types[0], "character_length") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/initcap.rs b/datafusion/functions/src/unicode/initcap.rs index 03314bb24925..eb8995c5beda 100644 --- a/datafusion/functions/src/unicode/initcap.rs +++ b/datafusion/functions/src/unicode/initcap.rs @@ -87,7 +87,7 @@ impl ScalarUDFImpl for InitcapFunc { } } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/left.rs b/datafusion/functions/src/unicode/left.rs index c8fbee4d90d8..88863199a272 100644 --- a/datafusion/functions/src/unicode/left.rs +++ b/datafusion/functions/src/unicode/left.rs @@ -97,7 +97,7 @@ impl ScalarUDFImpl for LeftFunc { utf8_to_str_type(&arg_types[0], "left") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/lpad.rs b/datafusion/functions/src/unicode/lpad.rs index 216037e90659..f32bc4add8b1 100644 --- a/datafusion/functions/src/unicode/lpad.rs +++ b/datafusion/functions/src/unicode/lpad.rs @@ -109,7 +109,7 @@ impl ScalarUDFImpl for LPadFunc { utf8_to_str_type(&arg_types[0], "lpad") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/reverse.rs b/datafusion/functions/src/unicode/reverse.rs index c941fe32c13b..f0ec083b7bd1 100644 --- a/datafusion/functions/src/unicode/reverse.rs +++ b/datafusion/functions/src/unicode/reverse.rs @@ -85,7 +85,7 @@ impl ScalarUDFImpl for ReverseFunc { utf8_to_str_type(&arg_types[0], "reverse") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/right.rs b/datafusion/functions/src/unicode/right.rs index 3561176f1dd7..369bd6ecdb38 100644 --- a/datafusion/functions/src/unicode/right.rs +++ b/datafusion/functions/src/unicode/right.rs @@ -97,7 +97,7 @@ impl ScalarUDFImpl for RightFunc { utf8_to_str_type(&arg_types[0], "right") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/rpad.rs b/datafusion/functions/src/unicode/rpad.rs index 72bb112e6f70..d304da238f60 100644 --- a/datafusion/functions/src/unicode/rpad.rs +++ b/datafusion/functions/src/unicode/rpad.rs @@ -108,7 +108,7 @@ impl ScalarUDFImpl for RPadFunc { utf8_to_str_type(&arg_types[0], "rpad") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/strpos.rs b/datafusion/functions/src/unicode/strpos.rs index 19b82ccc23c2..b9bf99ea8155 100644 --- a/datafusion/functions/src/unicode/strpos.rs +++ b/datafusion/functions/src/unicode/strpos.rs @@ -83,7 +83,7 @@ impl ScalarUDFImpl for StrposFunc { utf8_to_int_type(&arg_types[0], "strpos/instr/position") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/substr.rs b/datafusion/functions/src/unicode/substr.rs index 20d5f6e3abeb..0507e5d597d4 100644 --- a/datafusion/functions/src/unicode/substr.rs +++ b/datafusion/functions/src/unicode/substr.rs @@ -95,7 +95,7 @@ impl ScalarUDFImpl for SubstrFunc { Ok(DataType::Utf8View) } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/substrindex.rs b/datafusion/functions/src/unicode/substrindex.rs index 20ad33b3cfe3..fb1e63c0c7ad 100644 --- a/datafusion/functions/src/unicode/substrindex.rs +++ b/datafusion/functions/src/unicode/substrindex.rs @@ -108,7 +108,7 @@ impl ScalarUDFImpl for SubstrIndexFunc { utf8_to_str_type(&arg_types[0], "substr_index") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, diff --git a/datafusion/functions/src/unicode/translate.rs b/datafusion/functions/src/unicode/translate.rs index 47766ded3add..80184df860af 100644 --- a/datafusion/functions/src/unicode/translate.rs +++ b/datafusion/functions/src/unicode/translate.rs @@ -95,7 +95,7 @@ impl ScalarUDFImpl for TranslateFunc { utf8_to_str_type(&arg_types[0], "translate") } - fn invoke_batch( + fn invoke_with_args( &self, args: &[ColumnarValue], _number_rows: usize, From 245346cd88c5ff7ea224737ee8048fc1e48106a1 Mon Sep 17 00:00:00 2001 From: sidshehria Date: Thu, 20 Feb 2025 09:23:13 +0530 Subject: [PATCH 2/3] properly migrated all UDFS to invok_with_args again --- datafusion/functions/src/macros.rs | 8 +++----- datafusion/functions/src/unicode/character_length.rs | 6 +----- datafusion/functions/src/unicode/initcap.rs | 6 +----- datafusion/functions/src/unicode/left.rs | 6 +----- datafusion/functions/src/unicode/lpad.rs | 6 +----- datafusion/functions/src/unicode/reverse.rs | 6 +----- datafusion/functions/src/unicode/right.rs | 6 +----- datafusion/functions/src/unicode/rpad.rs | 6 +----- datafusion/functions/src/unicode/strpos.rs | 6 +----- datafusion/functions/src/unicode/substr.rs | 6 +----- datafusion/functions/src/unicode/substrindex.rs | 6 +----- datafusion/functions/src/unicode/translate.rs | 9 +++------ 12 files changed, 16 insertions(+), 61 deletions(-) diff --git a/datafusion/functions/src/macros.rs b/datafusion/functions/src/macros.rs index d2849c3abba0..0cc1ec213d28 100644 --- a/datafusion/functions/src/macros.rs +++ b/datafusion/functions/src/macros.rs @@ -331,10 +331,7 @@ macro_rules! make_math_binary_udf { $OUTPUT_ORDERING(input) } - fn invoke_with_args( - &self, - args: ScalarFunctionArgs, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { let args = ColumnarValue::values_to_arrays(&args.args)?; let arr: ArrayRef = match args[0].data_type() { DataType::Float64 => { @@ -364,9 +361,10 @@ macro_rules! make_math_binary_udf { ) } }; - + Ok(ColumnarValue::Array(arr)) } + fn documentation(&self) -> Option<&Documentation> { Some($GET_DOC()) diff --git a/datafusion/functions/src/unicode/character_length.rs b/datafusion/functions/src/unicode/character_length.rs index db4634033da3..de19f1e571b6 100644 --- a/datafusion/functions/src/unicode/character_length.rs +++ b/datafusion/functions/src/unicode/character_length.rs @@ -88,11 +88,7 @@ impl ScalarUDFImpl for CharacterLengthFunc { utf8_to_int_type(&arg_types[0], "character_length") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { make_scalar_function(character_length, vec![])(args) } diff --git a/datafusion/functions/src/unicode/initcap.rs b/datafusion/functions/src/unicode/initcap.rs index eb8995c5beda..2d2f4af9bd00 100644 --- a/datafusion/functions/src/unicode/initcap.rs +++ b/datafusion/functions/src/unicode/initcap.rs @@ -87,11 +87,7 @@ impl ScalarUDFImpl for InitcapFunc { } } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { DataType::Utf8 => make_scalar_function(initcap::, vec![])(args), DataType::LargeUtf8 => make_scalar_function(initcap::, vec![])(args), diff --git a/datafusion/functions/src/unicode/left.rs b/datafusion/functions/src/unicode/left.rs index 88863199a272..58ca1402ba78 100644 --- a/datafusion/functions/src/unicode/left.rs +++ b/datafusion/functions/src/unicode/left.rs @@ -97,11 +97,7 @@ impl ScalarUDFImpl for LeftFunc { utf8_to_str_type(&arg_types[0], "left") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { DataType::Utf8 | DataType::Utf8View => { make_scalar_function(left::, vec![])(args) diff --git a/datafusion/functions/src/unicode/lpad.rs b/datafusion/functions/src/unicode/lpad.rs index f32bc4add8b1..a006276f00c6 100644 --- a/datafusion/functions/src/unicode/lpad.rs +++ b/datafusion/functions/src/unicode/lpad.rs @@ -109,11 +109,7 @@ impl ScalarUDFImpl for LPadFunc { utf8_to_str_type(&arg_types[0], "lpad") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { Utf8 | Utf8View => make_scalar_function(lpad::, vec![])(args), LargeUtf8 => make_scalar_function(lpad::, vec![])(args), diff --git a/datafusion/functions/src/unicode/reverse.rs b/datafusion/functions/src/unicode/reverse.rs index f0ec083b7bd1..b1d5ac760add 100644 --- a/datafusion/functions/src/unicode/reverse.rs +++ b/datafusion/functions/src/unicode/reverse.rs @@ -85,11 +85,7 @@ impl ScalarUDFImpl for ReverseFunc { utf8_to_str_type(&arg_types[0], "reverse") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { Utf8 | Utf8View => make_scalar_function(reverse::, vec![])(args), LargeUtf8 => make_scalar_function(reverse::, vec![])(args), diff --git a/datafusion/functions/src/unicode/right.rs b/datafusion/functions/src/unicode/right.rs index 369bd6ecdb38..a0ec236d3584 100644 --- a/datafusion/functions/src/unicode/right.rs +++ b/datafusion/functions/src/unicode/right.rs @@ -97,11 +97,7 @@ impl ScalarUDFImpl for RightFunc { utf8_to_str_type(&arg_types[0], "right") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { DataType::Utf8 | DataType::Utf8View => { make_scalar_function(right::, vec![])(args) diff --git a/datafusion/functions/src/unicode/rpad.rs b/datafusion/functions/src/unicode/rpad.rs index d304da238f60..21a822326f1f 100644 --- a/datafusion/functions/src/unicode/rpad.rs +++ b/datafusion/functions/src/unicode/rpad.rs @@ -108,11 +108,7 @@ impl ScalarUDFImpl for RPadFunc { utf8_to_str_type(&arg_types[0], "rpad") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match ( args.len(), args[0].data_type(), diff --git a/datafusion/functions/src/unicode/strpos.rs b/datafusion/functions/src/unicode/strpos.rs index b9bf99ea8155..2451cf2e6a4e 100644 --- a/datafusion/functions/src/unicode/strpos.rs +++ b/datafusion/functions/src/unicode/strpos.rs @@ -83,11 +83,7 @@ impl ScalarUDFImpl for StrposFunc { utf8_to_int_type(&arg_types[0], "strpos/instr/position") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { make_scalar_function(strpos, vec![])(args) } diff --git a/datafusion/functions/src/unicode/substr.rs b/datafusion/functions/src/unicode/substr.rs index 0507e5d597d4..0f17178ceaeb 100644 --- a/datafusion/functions/src/unicode/substr.rs +++ b/datafusion/functions/src/unicode/substr.rs @@ -95,11 +95,7 @@ impl ScalarUDFImpl for SubstrFunc { Ok(DataType::Utf8View) } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { make_scalar_function(substr, vec![])(args) } diff --git a/datafusion/functions/src/unicode/substrindex.rs b/datafusion/functions/src/unicode/substrindex.rs index fb1e63c0c7ad..9a548cf5c069 100644 --- a/datafusion/functions/src/unicode/substrindex.rs +++ b/datafusion/functions/src/unicode/substrindex.rs @@ -108,11 +108,7 @@ impl ScalarUDFImpl for SubstrIndexFunc { utf8_to_str_type(&arg_types[0], "substr_index") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { make_scalar_function(substr_index, vec![])(args) } diff --git a/datafusion/functions/src/unicode/translate.rs b/datafusion/functions/src/unicode/translate.rs index 80184df860af..02e2d263cafd 100644 --- a/datafusion/functions/src/unicode/translate.rs +++ b/datafusion/functions/src/unicode/translate.rs @@ -95,13 +95,10 @@ impl ScalarUDFImpl for TranslateFunc { utf8_to_str_type(&arg_types[0], "translate") } - fn invoke_with_args( - &self, - args: &[ColumnarValue], - _number_rows: usize, - ) -> Result { - make_scalar_function(invoke_translate, vec![])(args) + fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { + make_scalar_function(invoke_translate, vec![])(args.args) } + fn documentation(&self) -> Option<&Documentation> { self.doc() From c4889622fadabbcc7821136c8988f503face2c1b Mon Sep 17 00:00:00 2001 From: sidshehria Date: Thu, 20 Feb 2025 13:11:31 +0530 Subject: [PATCH 3/3] properly migrated all UDFS to invok_with_args again --- datafusion/functions/src/unicode/character_length.rs | 2 +- datafusion/functions/src/unicode/initcap.rs | 6 +++--- datafusion/functions/src/unicode/left.rs | 4 ++-- datafusion/functions/src/unicode/lpad.rs | 4 ++-- datafusion/functions/src/unicode/reverse.rs | 4 ++-- datafusion/functions/src/unicode/right.rs | 4 ++-- datafusion/functions/src/unicode/rpad.rs | 12 ++++++------ datafusion/functions/src/unicode/strpos.rs | 2 +- datafusion/functions/src/unicode/substr.rs | 2 +- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/datafusion/functions/src/unicode/character_length.rs b/datafusion/functions/src/unicode/character_length.rs index de19f1e571b6..05a05ba02018 100644 --- a/datafusion/functions/src/unicode/character_length.rs +++ b/datafusion/functions/src/unicode/character_length.rs @@ -89,7 +89,7 @@ impl ScalarUDFImpl for CharacterLengthFunc { } fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { - make_scalar_function(character_length, vec![])(args) + make_scalar_function(character_length, vec![])(args.args()) } fn aliases(&self) -> &[String] { diff --git a/datafusion/functions/src/unicode/initcap.rs b/datafusion/functions/src/unicode/initcap.rs index 2d2f4af9bd00..a53b533a0de0 100644 --- a/datafusion/functions/src/unicode/initcap.rs +++ b/datafusion/functions/src/unicode/initcap.rs @@ -89,9 +89,9 @@ impl ScalarUDFImpl for InitcapFunc { fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { - DataType::Utf8 => make_scalar_function(initcap::, vec![])(args), - DataType::LargeUtf8 => make_scalar_function(initcap::, vec![])(args), - DataType::Utf8View => make_scalar_function(initcap_utf8view, vec![])(args), + DataType::Utf8 => make_scalar_function(initcap::, vec![])(args.args()), + DataType::LargeUtf8 => make_scalar_function(initcap::, vec![])(args.args()), + DataType::Utf8View => make_scalar_function(initcap_utf8view, vec![])(args.args()), other => { exec_err!("Unsupported data type {other:?} for function `initcap`") } diff --git a/datafusion/functions/src/unicode/left.rs b/datafusion/functions/src/unicode/left.rs index 58ca1402ba78..3b10e41e91f6 100644 --- a/datafusion/functions/src/unicode/left.rs +++ b/datafusion/functions/src/unicode/left.rs @@ -100,9 +100,9 @@ impl ScalarUDFImpl for LeftFunc { fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { DataType::Utf8 | DataType::Utf8View => { - make_scalar_function(left::, vec![])(args) + make_scalar_function(left::, vec![])(args.args()) } - DataType::LargeUtf8 => make_scalar_function(left::, vec![])(args), + DataType::LargeUtf8 => make_scalar_function(left::, vec![])(args.args()), other => exec_err!( "Unsupported data type {other:?} for function left,\ expected Utf8View, Utf8 or LargeUtf8." diff --git a/datafusion/functions/src/unicode/lpad.rs b/datafusion/functions/src/unicode/lpad.rs index a006276f00c6..bc8c27e8db01 100644 --- a/datafusion/functions/src/unicode/lpad.rs +++ b/datafusion/functions/src/unicode/lpad.rs @@ -111,8 +111,8 @@ impl ScalarUDFImpl for LPadFunc { fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { - Utf8 | Utf8View => make_scalar_function(lpad::, vec![])(args), - LargeUtf8 => make_scalar_function(lpad::, vec![])(args), + Utf8 | Utf8View => make_scalar_function(lpad::, vec![])(args.args()), + LargeUtf8 => make_scalar_function(lpad::, vec![])(args.args()), other => exec_err!("Unsupported data type {other:?} for function lpad"), } } diff --git a/datafusion/functions/src/unicode/reverse.rs b/datafusion/functions/src/unicode/reverse.rs index b1d5ac760add..494b42411b0e 100644 --- a/datafusion/functions/src/unicode/reverse.rs +++ b/datafusion/functions/src/unicode/reverse.rs @@ -87,8 +87,8 @@ impl ScalarUDFImpl for ReverseFunc { fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { - Utf8 | Utf8View => make_scalar_function(reverse::, vec![])(args), - LargeUtf8 => make_scalar_function(reverse::, vec![])(args), + Utf8 | Utf8View => make_scalar_function(reverse::, vec![])(args.args()), + LargeUtf8 => make_scalar_function(reverse::, vec![])(args.args()), other => { exec_err!("Unsupported data type {other:?} for function reverse") } diff --git a/datafusion/functions/src/unicode/right.rs b/datafusion/functions/src/unicode/right.rs index a0ec236d3584..7594912da16b 100644 --- a/datafusion/functions/src/unicode/right.rs +++ b/datafusion/functions/src/unicode/right.rs @@ -100,9 +100,9 @@ impl ScalarUDFImpl for RightFunc { fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { match args[0].data_type() { DataType::Utf8 | DataType::Utf8View => { - make_scalar_function(right::, vec![])(args) + make_scalar_function(right::, vec![])(args.args()) } - DataType::LargeUtf8 => make_scalar_function(right::, vec![])(args), + DataType::LargeUtf8 => make_scalar_function(right::, vec![])(args.args()), other => exec_err!( "Unsupported data type {other:?} for function right,\ expected Utf8View, Utf8 or LargeUtf8." diff --git a/datafusion/functions/src/unicode/rpad.rs b/datafusion/functions/src/unicode/rpad.rs index 21a822326f1f..389b352adc60 100644 --- a/datafusion/functions/src/unicode/rpad.rs +++ b/datafusion/functions/src/unicode/rpad.rs @@ -115,20 +115,20 @@ impl ScalarUDFImpl for RPadFunc { args.get(2).map(|arg| arg.data_type()), ) { (2, Utf8 | Utf8View, _) => { - make_scalar_function(rpad::, vec![])(args) + make_scalar_function(rpad::, vec![])(args.args()) } - (2, LargeUtf8, _) => make_scalar_function(rpad::, vec![])(args), + (2, LargeUtf8, _) => make_scalar_function(rpad::, vec![])(args.args()), (3, Utf8 | Utf8View, Some(Utf8 | Utf8View)) => { - make_scalar_function(rpad::, vec![])(args) + make_scalar_function(rpad::, vec![])(args.args()) } (3, LargeUtf8, Some(LargeUtf8)) => { - make_scalar_function(rpad::, vec![])(args) + make_scalar_function(rpad::, vec![])(args.args()) } (3, Utf8 | Utf8View, Some(LargeUtf8)) => { - make_scalar_function(rpad::, vec![])(args) + make_scalar_function(rpad::, vec![])(args.args()) } (3, LargeUtf8, Some(Utf8 | Utf8View)) => { - make_scalar_function(rpad::, vec![])(args) + make_scalar_function(rpad::, vec![])(args.args()) } (_, _, _) => { exec_err!("Unsupported combination of data types for function rpad") diff --git a/datafusion/functions/src/unicode/strpos.rs b/datafusion/functions/src/unicode/strpos.rs index 2451cf2e6a4e..55e6926a22fe 100644 --- a/datafusion/functions/src/unicode/strpos.rs +++ b/datafusion/functions/src/unicode/strpos.rs @@ -84,7 +84,7 @@ impl ScalarUDFImpl for StrposFunc { } fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { - make_scalar_function(strpos, vec![])(args) + make_scalar_function(strpos, vec![])(args.args()) } fn aliases(&self) -> &[String] { diff --git a/datafusion/functions/src/unicode/substr.rs b/datafusion/functions/src/unicode/substr.rs index 0f17178ceaeb..16339921a793 100644 --- a/datafusion/functions/src/unicode/substr.rs +++ b/datafusion/functions/src/unicode/substr.rs @@ -96,7 +96,7 @@ impl ScalarUDFImpl for SubstrFunc { } fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result { - make_scalar_function(substr, vec![])(args) + make_scalar_function(substr, vec![])(args.args()) } fn aliases(&self) -> &[String] {