Skip to content

Commit dc7d62b

Browse files
Ian LaiIan Lai
Ian Lai
authored and
Ian Lai
committed
replace one_of with new_implicit
1 parent e4a82cf commit dc7d62b

File tree

5 files changed

+41
-55
lines changed

5 files changed

+41
-55
lines changed

datafusion/functions/src/crypto/digest.rs

+9-11
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use super::basic::{digest, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{
22-
types::{logical_binary, logical_string},
22+
types::{logical_binary, logical_string, NativeType},
2323
Result,
2424
};
2525
use datafusion_expr::{
2626
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
27-
TypeSignature, Volatility,
27+
Volatility,
2828
};
2929
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
3030
use datafusion_macros::user_doc;
@@ -69,16 +69,14 @@ impl Default for DigestFunc {
6969
impl DigestFunc {
7070
pub fn new() -> Self {
7171
Self {
72-
signature: Signature::one_of(
72+
signature: Signature::coercible(
7373
vec![
74-
TypeSignature::Coercible(vec![
75-
Coercion::new_exact(TypeSignatureClass::Native(logical_string())),
76-
Coercion::new_exact(TypeSignatureClass::Native(logical_string())),
77-
]),
78-
TypeSignature::Coercible(vec![
79-
Coercion::new_exact(TypeSignatureClass::Native(logical_binary())),
80-
Coercion::new_exact(TypeSignatureClass::Native(logical_string())),
81-
]),
74+
Coercion::new_implicit(
75+
TypeSignatureClass::Native(logical_binary()),
76+
vec![TypeSignatureClass::Native(logical_string())],
77+
NativeType::Binary,
78+
),
79+
Coercion::new_exact(TypeSignatureClass::Native(logical_string())),
8280
],
8381
Volatility::Immutable,
8482
),

datafusion/functions/src/crypto/sha224.rs

+8-11
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use super::basic::{sha224, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{
22-
types::{logical_binary, logical_string},
22+
types::{logical_binary, logical_string, NativeType},
2323
Result,
2424
};
2525
use datafusion_expr::{
2626
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
27-
TypeSignature, Volatility,
27+
Volatility,
2828
};
2929
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
3030
use datafusion_macros::user_doc;
@@ -58,15 +58,12 @@ impl Default for SHA224Func {
5858
impl SHA224Func {
5959
pub fn new() -> Self {
6060
Self {
61-
signature: Signature::one_of(
62-
vec![
63-
TypeSignature::Coercible(vec![Coercion::new_exact(
64-
TypeSignatureClass::Native(logical_string()),
65-
)]),
66-
TypeSignature::Coercible(vec![Coercion::new_exact(
67-
TypeSignatureClass::Native(logical_binary()),
68-
)]),
69-
],
61+
signature: Signature::coercible(
62+
vec![Coercion::new_implicit(
63+
TypeSignatureClass::Native(logical_binary()),
64+
vec![TypeSignatureClass::Native(logical_string())],
65+
NativeType::Binary,
66+
)],
7067
Volatility::Immutable,
7168
),
7269
}

datafusion/functions/src/crypto/sha256.rs

+8-11
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use super::basic::{sha256, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{
22-
types::{logical_binary, logical_string},
22+
types::{logical_binary, logical_string, NativeType},
2323
Result,
2424
};
2525
use datafusion_expr::{
2626
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
27-
TypeSignature, Volatility,
27+
Volatility,
2828
};
2929
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
3030
use datafusion_macros::user_doc;
@@ -57,15 +57,12 @@ impl Default for SHA256Func {
5757
impl SHA256Func {
5858
pub fn new() -> Self {
5959
Self {
60-
signature: Signature::one_of(
61-
vec![
62-
TypeSignature::Coercible(vec![Coercion::new_exact(
63-
TypeSignatureClass::Native(logical_string()),
64-
)]),
65-
TypeSignature::Coercible(vec![Coercion::new_exact(
66-
TypeSignatureClass::Native(logical_binary()),
67-
)]),
68-
],
60+
signature: Signature::coercible(
61+
vec![Coercion::new_implicit(
62+
TypeSignatureClass::Native(logical_binary()),
63+
vec![TypeSignatureClass::Native(logical_string())],
64+
NativeType::Binary,
65+
)],
6966
Volatility::Immutable,
7067
),
7168
}

datafusion/functions/src/crypto/sha384.rs

+8-11
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use super::basic::{sha384, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{
22-
types::{logical_binary, logical_string},
22+
types::{logical_binary, logical_string, NativeType},
2323
Result,
2424
};
2525
use datafusion_expr::{
2626
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
27-
TypeSignature, Volatility,
27+
Volatility,
2828
};
2929
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
3030
use datafusion_macros::user_doc;
@@ -57,15 +57,12 @@ impl Default for SHA384Func {
5757
impl SHA384Func {
5858
pub fn new() -> Self {
5959
Self {
60-
signature: Signature::one_of(
61-
vec![
62-
TypeSignature::Coercible(vec![Coercion::new_exact(
63-
TypeSignatureClass::Native(logical_string()),
64-
)]),
65-
TypeSignature::Coercible(vec![Coercion::new_exact(
66-
TypeSignatureClass::Native(logical_binary()),
67-
)]),
68-
],
60+
signature: Signature::coercible(
61+
vec![Coercion::new_implicit(
62+
TypeSignatureClass::Native(logical_binary()),
63+
vec![TypeSignatureClass::Native(logical_string())],
64+
NativeType::Binary,
65+
)],
6966
Volatility::Immutable,
7067
),
7168
}

datafusion/functions/src/crypto/sha512.rs

+8-11
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919
use super::basic::{sha512, utf8_or_binary_to_binary_type};
2020
use arrow::datatypes::DataType;
2121
use datafusion_common::{
22-
types::{logical_binary, logical_string},
22+
types::{logical_binary, logical_string, NativeType},
2323
Result,
2424
};
2525
use datafusion_expr::{
2626
ColumnarValue, Documentation, ScalarFunctionArgs, ScalarUDFImpl, Signature,
27-
TypeSignature, Volatility,
27+
Volatility,
2828
};
2929
use datafusion_expr_common::signature::{Coercion, TypeSignatureClass};
3030
use datafusion_macros::user_doc;
@@ -57,15 +57,12 @@ impl Default for SHA512Func {
5757
impl SHA512Func {
5858
pub fn new() -> Self {
5959
Self {
60-
signature: Signature::one_of(
61-
vec![
62-
TypeSignature::Coercible(vec![Coercion::new_exact(
63-
TypeSignatureClass::Native(logical_string()),
64-
)]),
65-
TypeSignature::Coercible(vec![Coercion::new_exact(
66-
TypeSignatureClass::Native(logical_binary()),
67-
)]),
68-
],
60+
signature: Signature::coercible(
61+
vec![Coercion::new_implicit(
62+
TypeSignatureClass::Native(logical_binary()),
63+
vec![TypeSignatureClass::Native(logical_string())],
64+
NativeType::Binary,
65+
)],
6966
Volatility::Immutable,
7067
),
7168
}

0 commit comments

Comments
 (0)