Is your feature request related to a problem or challenge?
I noticed below code:
|
RegexMatch => binary_string_array_flag_op_scalar!( |
|
array, |
|
scalar, |
|
regexp_is_match, |
|
false, |
|
false |
|
), |
|
RegexIMatch => binary_string_array_flag_op_scalar!( |
|
array, |
|
scalar, |
|
regexp_is_match, |
|
false, |
|
true |
|
), |
|
RegexNotMatch => binary_string_array_flag_op_scalar!( |
|
array, |
|
scalar, |
|
regexp_is_match, |
|
true, |
|
false |
|
), |
|
RegexNotIMatch => binary_string_array_flag_op_scalar!( |
|
array, |
|
scalar, |
|
regexp_is_match, |
|
true, |
|
true |
|
), |
This looks like every time record_batch is evaluated, it will execute the compiled pattern string and use the compiled results to match arrow-array
Describe the solution you'd like
when building binary physical expr , we can pre-compile pattern string if op is regex_match
Describe alternatives you've considered
No response
Additional context
No response
Is your feature request related to a problem or challenge?
I noticed below code:
datafusion/datafusion/physical-expr/src/expressions/binary.rs
Lines 537 to 564 in 6a4a280
This looks like every time record_batch is evaluated, it will execute the compiled pattern string and use the compiled results to match arrow-array
Describe the solution you'd like
when building binary physical expr , we can pre-compile pattern string if op is regex_match
Describe alternatives you've considered
No response
Additional context
No response