Skip to content

ESQL: Add case-insensitive behavior #103599

@costin

Description

@costin

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions