-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
port regexp_like function and port related tests #9397
Conversation
6949611
to
611e23a
Compare
// specific language governing permissions and limitations | ||
// under the License. | ||
|
||
//! Encoding expressions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked the repo and thought it may be a small typo, and it also appears in the previous regex
function.
It's not related to Encoding expressions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks buddy, I will fix it
datafusion/physical-expr/Cargo.toml
Outdated
@@ -61,6 +61,7 @@ chrono = { workspace = true } | |||
datafusion-common = { workspace = true, default-features = true } | |||
datafusion-execution = { workspace = true } | |||
datafusion-expr = { workspace = true } | |||
datafusion-functions = { workspace = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can it be moved into dev-dependencies
? I didn't verify and just be curious.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will verify it , Thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should have a dependence between datafusion-functions and datafusion-physical-exprs as we are trying to make the crates more indenpendent. I commented below on some ways to avoid this dependency
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @Lordworms -- this looks very close . I agree with @yyy1000 's suggestion / concern about adding the new dependency. Otherwise this PR is 👌
Thanks again @yyy1000 for the review
datafusion/physical-expr/Cargo.toml
Outdated
@@ -61,6 +61,7 @@ chrono = { workspace = true } | |||
datafusion-common = { workspace = true, default-features = true } | |||
datafusion-execution = { workspace = true } | |||
datafusion-expr = { workspace = true } | |||
datafusion-functions = { workspace = true } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should have a dependence between datafusion-functions and datafusion-physical-exprs as we are trying to make the crates more indenpendent. I commented below on some ways to avoid this dependency
@@ -23,15 +23,12 @@ use std::sync::Arc; | |||
use arrow_array::builder::StringBuilder; | |||
use arrow_array::{ArrayRef, StringArray}; | |||
use criterion::{black_box, criterion_group, criterion_main, Criterion}; | |||
use datafusion_functions::regex::regexplike::regexp_like; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rather than making this dependency, I think we could instead move the benchmark (for regexp_like) to datafusion/functions/benches/regex.rs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree that it would be a great idea. Should I port all other regexp benchmark in this PR or in the following one? I will port regexp_like first
@@ -78,20 +74,6 @@ fn flags(rng: &mut ThreadRng) -> StringArray { | |||
} | |||
|
|||
fn criterion_benchmark(c: &mut Criterion) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will file another PR to finish port regx_replace and delete this bench later today
delete useless test fix chores change regexp_like change lock change format fix typo change prost remove unused adding usage adding dependency adding dependency dep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you @Lordworms -- I reviewed this PR and it looks good to me. I want to double check that this doesn't change performance (there are some ClickBench queries that use regexp) so I will run the benchmarks and report back before merging
My ClickBench benchmark run shows no significant change: Details
|
Thanks again @Lordworms |
* port regexp_like function and port related tests delete useless test fix chores change regexp_like change lock change format fix typo change prost remove unused adding usage adding dependency adding dependency dep * adding tests * remove useless * remove unused * remove unused * change dependency structure * format toml
Which issue does this PR close?
#9328 part II
Closes #.
Rationale for this change
What changes are included in this PR?
Are these changes tested?
Are there any user-facing changes?