Skip to content

Commit 9845cad

Browse files
Cheng-Yuan-LaiIan Lai
Cheng-Yuan-Lai
authored and
Ian Lai
committed
chore: migrate crypto functions to invoke_with_args
1 parent c176533 commit 9845cad

File tree

6 files changed

+24
-40
lines changed

6 files changed

+24
-40
lines changed

datafusion/functions/src/crypto/digest.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use super::basic::{digest, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::Result;
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, TypeSignature::*, Volatility,
23+
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
24+
TypeSignature::*, Volatility,
2425
};
2526
use datafusion_macros::user_doc;
2627
use std::any::Any;
@@ -94,12 +95,8 @@ impl ScalarUDFImpl for DigestFunc {
9495
fn return_type(&self, arg_types: &[DataType]) -> Result<DataType> {
9596
utf8_or_binary_to_binary_type(&arg_types[0], self.name())
9697
}
97-
fn invoke_batch(
98-
&self,
99-
args: &[ColumnarValue],
100-
_number_rows: usize,
101-
) -> Result<ColumnarValue> {
102-
digest(args)
98+
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue> {
99+
digest(&args.args)
103100
}
104101

105102
fn documentation(&self) -> Option<&Documentation> {

datafusion/functions/src/crypto/md5.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use crate::crypto::basic::md5;
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{plan_err, Result};
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
23+
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
24+
Volatility,
2425
};
2526
use datafusion_macros::user_doc;
2627
use std::any::Any;
@@ -98,12 +99,8 @@ impl ScalarUDFImpl for Md5Func {
9899
}
99100
})
100101
}
101-
fn invoke_batch(
102-
&self,
103-
args: &[ColumnarValue],
104-
_number_rows: usize,
105-
) -> Result<ColumnarValue> {
106-
md5(args)
102+
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue> {
103+
md5(&args.args)
107104
}
108105

109106
fn documentation(&self) -> Option<&Documentation> {

datafusion/functions/src/crypto/sha224.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use super::basic::{sha224, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::Result;
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
23+
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
24+
Volatility,
2425
};
2526
use datafusion_macros::user_doc;
2627
use std::any::Any;
@@ -80,12 +81,8 @@ impl ScalarUDFImpl for SHA224Func {
8081
utf8_or_binary_to_binary_type(&arg_types[0], self.name())
8182
}
8283

83-
fn invoke_batch(
84-
&self,
85-
args: &[ColumnarValue],
86-
_number_rows: usize,
87-
) -> Result<ColumnarValue> {
88-
sha224(args)
84+
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue> {
85+
sha224(&args.args)
8986
}
9087

9188
fn documentation(&self) -> Option<&Documentation> {

datafusion/functions/src/crypto/sha256.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use super::basic::{sha256, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::Result;
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
23+
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
24+
Volatility,
2425
};
2526
use datafusion_macros::user_doc;
2627
use std::any::Any;
@@ -78,12 +79,8 @@ impl ScalarUDFImpl for SHA256Func {
7879
utf8_or_binary_to_binary_type(&arg_types[0], self.name())
7980
}
8081

81-
fn invoke_batch(
82-
&self,
83-
args: &[ColumnarValue],
84-
_number_rows: usize,
85-
) -> Result<ColumnarValue> {
86-
sha256(args)
82+
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue> {
83+
sha256(&args.args)
8784
}
8885

8986
fn documentation(&self) -> Option<&Documentation> {

datafusion/functions/src/crypto/sha384.rs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ use super::basic::{sha384, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::Result;
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
23+
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility, ScalarFunctionArgs
2424
};
2525
use datafusion_macros::user_doc;
2626
use std::any::Any;
@@ -78,12 +78,11 @@ impl ScalarUDFImpl for SHA384Func {
7878
utf8_or_binary_to_binary_type(&arg_types[0], self.name())
7979
}
8080

81-
fn invoke_batch(
81+
fn invoke_with_args(
8282
&self,
83-
args: &[ColumnarValue],
84-
_number_rows: usize,
83+
args: ScalarFunctionArgs,
8584
) -> Result<ColumnarValue> {
86-
sha384(args)
85+
sha384(&args.args)
8786
}
8887

8988
fn documentation(&self) -> Option<&Documentation> {

datafusion/functions/src/crypto/sha512.rs

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ use super::basic::{sha512, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::Result;
2222
use datafusion_expr::{
23-
ColumnarValue, Documentation, ScalarUDFImpl, Signature, Volatility,
23+
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
24+
Volatility,
2425
};
2526
use datafusion_macros::user_doc;
2627
use std::any::Any;
@@ -78,12 +79,8 @@ impl ScalarUDFImpl for SHA512Func {
7879
utf8_or_binary_to_binary_type(&arg_types[0], self.name())
7980
}
8081

81-
fn invoke_batch(
82-
&self,
83-
args: &[ColumnarValue],
84-
_number_rows: usize,
85-
) -> Result<ColumnarValue> {
86-
sha512(args)
82+
fn invoke_with_args(&self, args: ScalarFunctionArgs) -> Result<ColumnarValue> {
83+
sha512(&args.args)
8784
}
8885

8986
fn documentation(&self) -> Option<&Documentation> {

0 commit comments

Comments
 (0)