Describe the bug
When pushing down the filter column LIKE foo\_% (i.e. all rows that start with foo_), the pruning predicate logic doesn't account for escape sequences in the compared string. Instead, it splits the string at the first wildcard, either "_" or "%", and uses that prefix as the literal to search for, producing a pruning predicate like min <= 'foo\' && 'foo\' <= max. This gives incorrect results depending on the min/max values for the row group.
To Reproduce
I will write a test that reproduces this.
Expected behavior
For column LIKE foo\_%, we should push down min <= 'foo_' && 'foo_' <= max.
Additional context
No response
Describe the bug
When pushing down the filter
column LIKE foo\_%(i.e. all rows that start withfoo_), the pruning predicate logic doesn't account for escape sequences in the compared string. Instead, it splits the string at the first wildcard, either "_" or "%", and uses that prefix as the literal to search for, producing a pruning predicate likemin <= 'foo\' && 'foo\' <= max. This gives incorrect results depending on the min/max values for the row group.To Reproduce
I will write a test that reproduces this.
Expected behavior
For
column LIKE foo\_%, we should push downmin <= 'foo_' && 'foo_' <= max.Additional context
No response