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

ESQL: Add case-insensitive behavior #103599

Open
2 of 9 tasks
costin opened this issue Dec 20, 2023 · 4 comments
Open
2 of 9 tasks

ESQL: Add case-insensitive behavior #103599

costin opened this issue Dec 20, 2023 · 4 comments
Assignees
Labels
:Analytics/ES|QL AKA ESQL >feature release highlight Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo)

Comments

@costin
Copy link
Member

costin commented Dec 20, 2023

Description

Meta ticket for introducing case-insensitive string comparisons and functions:

  • Introduce =~ operator for performing case insensitive equality between a string field and a string literal string expressions.
    The field can be both single and multi value. The literal has to be single value.
    When used on non-strings, the operator has == semantics
    The operator cannot be used on non-strings initially.
    ESQL: add =~ operator (case insensitive equality) #103656
  • Introduce to_lower/lower_case and to_upper/upper_case
    ESQL: Add TO_UPPER and TO_LOWER functions #104309
  • Potentially introduce like/rlike semantics to =~ depending on the string pattern

Postpone for now the items below:

  • Introduce ~ suffix to make string operators and functions case insensitive
    • Extend grammar to allow ~ suffix for IN, LIKE, RLIKE operators
    • Extend grammar to allow ~ suffix for string functions
    • Extend existing string functions with case-insensitive behavior
    • Extend string filters to support case-insensitive behavior
    • Extend filters pushdown to allow case-insensitive

It's best to develop this feature on a branch against which PRs are created and once approved, merge the branch in main.

@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Dec 20, 2023
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-analytics-geo (Team:Analytics)

@costin costin removed the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Dec 20, 2023
@elasticsearchmachine elasticsearchmachine added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Dec 20, 2023
@costin costin added :Analytics/ES|QL AKA ESQL and removed :Analytics/Compute Engine Analytics in ES|QL labels Dec 20, 2023
@elasticsearchmachine elasticsearchmachine added Team:QL (Deprecated) Meta label for query languages team and removed Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) labels Dec 20, 2023
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-ql (Team:QL)

@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/elasticsearch-esql (:Query Languages/ES|QL)

@wchaparro wchaparro added the Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) label Jan 2, 2024
@elasticsearchmachine elasticsearchmachine removed the Team:QL (Deprecated) Meta label for query languages team label Jan 2, 2024
@elasticsearchmachine
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Analytics/ES|QL AKA ESQL >feature release highlight Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo)
Projects
None yet
Development

No branches or pull requests

4 participants