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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions