Skip to content

Conversation

@bpintea
Copy link
Contributor

@bpintea bpintea commented Jun 2, 2025

This excludes from testing the strings containing Unicode chars that change length when changing case.

Closes #128705
Closes #128706
Closes #128710
Closes #128711
Closes #128712
Closes #128713
Closes #128714
Closes #128715
Closes #128716
Closes #128717
Closes #128789
Closes #128790
Closes #128791
Closes #128792

This excludes from testing the strings containing Unicode chars that
change length when changing case.
@bpintea bpintea added >test Issues or PRs that are addressing/adding tests :Analytics/ES|QL AKA ESQL v8.19.0 v9.1.0 labels Jun 2, 2025
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Jun 2, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-analytical-engine (Team:Analytics)

String text = textSupplier.get();
return new TextAndPattern(randomCasing(text), escapeString.apply(text));
// RegExp doesn't support case-insensitive matching for Unicodes whose length changes when the case changes.
// Example: a case-insensitive ES regexp query for the pattern `weiß` won't match the value `WEISS` (but will match `WEIß`).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example is super useful, thank you!

@bpintea
Copy link
Contributor Author

bpintea commented Jun 3, 2025

Thanks Alex!

@bpintea bpintea added the auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) label Jun 4, 2025
@elasticsearchmachine elasticsearchmachine merged commit 092d4ba into elastic:main Jun 4, 2025
18 checks passed
@bpintea bpintea deleted the fix/test/case_insensitive_with_unicode branch June 4, 2025 09:06
bpintea added a commit to bpintea/elasticsearch that referenced this pull request Jun 4, 2025
)

This excludes from testing the strings containing Unicode chars that
change length when changing case.

Closes elastic#128705 Closes elastic#128706 Closes elastic#128710 Closes elastic#128711 Closes
Closes elastic#128717 Closes elastic#128789 Closes elastic#128790 Closes elastic#128791 Closes

(cherry picked from commit 092d4ba)
elasticsearchmachine pushed a commit that referenced this pull request Jun 5, 2025
) (#128750) (#128753)  (#128919)

* ESQL: Pushdown constructs doing case-insensitive regexes (#128393)

This introduces an optimization to pushdown to Lucense those language constructs that aim at case-insensitive regular expression matching, used with `LIKE` and `RLIKE` operators, such as:
* `| WHERE TO_LOWER(field) LIKE "abc*"`
* `| WHERE TO_UPPER(field) RLIKE "ABC.*"`

These are now pushed as case-insensitive `wildcard` and `regexp` respectively queries down to Lucene.

Closes #127479

(cherry picked from commit 0a80916)

* ESQL: Fix conversion of a Lucene wildcard pattern to a regexp (#128750)

This adds the reserved optional characters to the list that is escaped
during conversion. These characters are all enabled by the `RegExp.ALL`
flag in our use.

Closes #128676, closes #128677.

(cherry picked from commit 5eb54bf)

* ESQL: Fix case-insensitive test generation with Unicodes (#128753)

This excludes from testing the strings containing Unicode chars that
change length when changing case.

Closes #128705 Closes #128706 Closes #128710 Closes #128711 Closes
Closes #128717 Closes #128789 Closes #128790 Closes #128791 Closes

(cherry picked from commit 092d4ba)

* [CI] Auto commit changes from spotless

* Java21 adaptations and automerge fixes

* [CI] Auto commit changes from spotless

* 8.x's Lucene/RegExp doesn't support case-insensitive matching

* [CI] Auto commit changes from spotless

* One more Lucene 9 fix

---------

Co-authored-by: elasticsearchmachine <[email protected]>
dnhatn added a commit to dnhatn/elasticsearch that referenced this pull request Jun 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) >test Issues or PRs that are addressing/adding tests v8.19.0 v9.1.0

Projects

None yet

3 participants