zhuliquan opened a new pull request, #12270: URL: https://github.com/apache/datafusion/pull/12270
## Which issue does this PR close? Closes #11146. ## Rationale for this change This PR is successor of PR #11455 `BinaryExpr` will compile literal regex pattern when it evaluating `RecordBatch` every time, Sometime, the time of compiling regex pattern is also expensive. In our approach, literal regex pattern will be compiled once and cached to be reused in execution. It's will save compile time of pre execution and speed up execution. ## What changes are included in this PR? 1. Introducing a new physical expr `ScalarRegexMatchExpr` to handle regexp match with literal regrex pattern. 2. Introducing a message `PhysicalScalarRegexMatchExprNode` in proto to handle `ScalarRegexMatchExpr` and add arm in func `parse_physical_expr` and `serialize_physical_expr`. 3. Changing `BinaryExpr` arm in `create_physical_expr`. Creating `ScalarRegexMatchExpr` instead of `BinaryExpr` when Rhs is string literal expr and `op` is `RegexMatch | RegexIMatch | RegexNotMatch | RegexNotIMatch`. ## Are these changes tested? Yes, test mod in `scalar_regex_match.rs` ## Are there any user-facing changes? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
