@@ -21,7 +21,7 @@ use arrow::array::{Array, ArrayRef, AsArray, GenericStringArray};
21
21
use arrow:: compute:: kernels:: regexp;
22
22
use arrow:: datatypes:: DataType ;
23
23
use arrow:: datatypes:: DataType :: { LargeUtf8 , Utf8 , Utf8View } ;
24
- use datafusion_common:: types:: logical_string;
24
+ use datafusion_common:: types:: { logical_null , logical_string, NativeType } ;
25
25
use datafusion_common:: {
26
26
arrow_datafusion_err, exec_err, internal_err, plan_err, DataFusionError , Result ,
27
27
ScalarValue ,
@@ -84,12 +84,28 @@ impl RegexpLikeFunc {
84
84
signature : Signature :: one_of (
85
85
vec ! [
86
86
TypeSignature :: Coercible ( vec![
87
- Coercion :: new_exact( TypeSignatureClass :: Native ( logical_string( ) ) ) ,
88
- Coercion :: new_exact( TypeSignatureClass :: Native ( logical_string( ) ) ) ,
87
+ Coercion :: new_implicit(
88
+ TypeSignatureClass :: Native ( logical_string( ) ) ,
89
+ vec![ TypeSignatureClass :: Native ( logical_null( ) ) ] ,
90
+ NativeType :: String ,
91
+ ) ,
92
+ Coercion :: new_implicit(
93
+ TypeSignatureClass :: Native ( logical_string( ) ) ,
94
+ vec![ TypeSignatureClass :: Native ( logical_null( ) ) ] ,
95
+ NativeType :: String ,
96
+ ) ,
89
97
] ) ,
90
98
TypeSignature :: Coercible ( vec![
91
- Coercion :: new_exact( TypeSignatureClass :: Native ( logical_string( ) ) ) ,
92
- Coercion :: new_exact( TypeSignatureClass :: Native ( logical_string( ) ) ) ,
99
+ Coercion :: new_implicit(
100
+ TypeSignatureClass :: Native ( logical_string( ) ) ,
101
+ vec![ TypeSignatureClass :: Native ( logical_null( ) ) ] ,
102
+ NativeType :: String ,
103
+ ) ,
104
+ Coercion :: new_implicit(
105
+ TypeSignatureClass :: Native ( logical_string( ) ) ,
106
+ vec![ TypeSignatureClass :: Native ( logical_null( ) ) ] ,
107
+ NativeType :: String ,
108
+ ) ,
93
109
Coercion :: new_exact( TypeSignatureClass :: Native ( logical_string( ) ) ) ,
94
110
] ) ,
95
111
] ,
0 commit comments