Skip to content
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

Feature scalar regexp match benchmark #13789

Open
wants to merge 28 commits into
base: main
Choose a base branch
from

Conversation

zhuliquan
Copy link
Contributor

Which issue does this PR close?

Closes #.

Rationale for this change

What changes are included in this PR?

Adding benchmark for scalar regex matching, I pick 6 cases for benchmark:
1、email
2、ip
3、phnone number
4、html tag
5、url
6、format date string ('yyyy-MM-dd')

Are these changes tested?

Are there any user-facing changes?

zhuliquan and others added 27 commits December 11, 2024 23:22
…#13669)

* Minor: Comment temporary function for documentation migration

* Minor: Comment temporary function for documentation migration
* Minor: Rephrase MSRV policy to be more explanatory

Co-authored-by: Andrew Lamb <[email protected]>

* MSRV policy update

---------

Co-authored-by: Andrew Lamb <[email protected]>
* Remove unused dependencies from macros crate

* rename macro lib to user_doc
* update

* update

* update

* clean up errors

* fix flags types

* fix failed example
… owned `ColumnReference`) (apache#13637)

* Improve documentation

* Pass owned args to ScalarFunctionArgs

* Update advanced_udf with example of reusing arrays

* clarify rationale for cloning

* clarify comments

* fix expected output
* refactor: use `LazyLock` in the `user_doc` macro

* Fix cargo doc

* Update datafusion/macros/src/lib.rs

* Fix doc comment

---------

Co-authored-by: Oleks V <[email protected]>
Issue was patched as of lexical release 1.0.5.

Reverts apache#13689
Closes apache#13686
* fix: join with sort push down

* chore:
insert some value

* apply suggestion

* recover handle_costom_pushdown change

* apply suggestion

* add more test

* add partition
* Optimize performance of  function

Signed-off-by: Tai Le Manh <[email protected]>

* Add pre-check array is null

* Fix clippy warnings

---------

Signed-off-by: Tai Le Manh <[email protected]>
Updates the requirements on [prost-build](https://github.com/tokio-rs/prost) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/prost/releases)
- [Changelog](https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md)
- [Commits](tokio-rs/prost@v0.13.3...v0.13.4)

---
updated-dependencies:
- dependency-name: prost-build
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Minor: Output elapsed time for sql logic test
…rojectionMapping` and `EquivalenceGroup` (apache#13675)

* refactor: replace Vec with IndexMap for expression mappings in ProjectionMapping and EquivalenceGroup

* chore

* chore: Fix CI

* chore: comment

* chore: simplify
* fix: Fix parse_sql_expr not handling alias

* cargo fmt

* fix parse_sql_expr example(remove alias)

* add testing

* add SUM udaf to TestContextProvider and modify test_sql_to_expr_with_alias for function

* revert change on example `parse_sql_expr`
apache#13730)

Debug trait is useful for understanding what something is and how it's
configured, especially if the implementation is behind dyn trait.
…13660)

* add `unnest_as_table_factor` and `UnnestRelationBuilder`

* unparse unnest as table factor

* fix typo

* add tests for the default configs

* add a static const for unnest_placeholder

* fix tests

* fix tests
@github-actions github-actions bot added the core Core DataFusion crate label Dec 15, 2024
@Omega359
Copy link
Contributor

I ran your benchmark and it looks good. I am unsure though the benefit of this benchmark over the existing 'regx' benchmark which targets the udf versions of the Postgresql symbols - most of the logic is in the regexp::regexp_is_match function for both.

@zhuliquan
Copy link
Contributor Author

I ran your benchmark and it looks good. I am unsure though the benefit of this benchmark over the existing 'regx' benchmark which targets the udf versions of the Postgresql symbols - most of the logic is in the regexp::regexp_is_match function for both.

Emm, regx benchmark is aim at regex functions, this benchmark is aim at PR #12270

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Core DataFusion crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.