Arnab Karmakar has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/24001


Change subject: IMPALA-14737: Push down LIKE predicates to Iceberg
......................................................................

IMPALA-14737: Push down LIKE predicates to Iceberg

This patch adds support for pushing down LIKE predicates with prefix
patterns to Iceberg using the startsWith() expression. When a LIKE
predicate has a pattern starting with non-wildcard characters (e.g.,
'prefix%' or 'pre_fix%'), Impala extracts the longest constant prefix
and pushes it down to Iceberg for efficient file-level filtering.

Supported patterns:
- 'abc%' -> pushes down startsWith('abc')
- 'pre_fix%' -> pushes down startsWith('pre')
- 'a_b%' -> pushes down startsWith('a')

Unsupported patterns (not pushed down):
- '%suffix' - starts with wildcard
- '_prefix%' - starts with wildcard
- 'exact' - no wildcard (should use = instead)

Benefits:
- File-level filtering using Iceberg metadata
- Partition pruning when LIKE is on partition columns
- Works with UTF-8 strings

Testing:
- Added iceberg-like-pushdown.test with comprehensive test coverage
- Tests for basic prefix patterns, underscore wildcards, partition
  pruning, compound predicates, and edge cases

Change-Id: I548834126540bcc8d22efc872c2571293b8b7ec4
---
M fe/src/main/java/org/apache/impala/common/IcebergPredicateConverter.java
A 
testdata/workloads/functional-query/queries/QueryTest/iceberg-like-pushdown.test
M tests/query_test/test_iceberg.py
3 files changed, 288 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/01/24001/1
--
To view, visit http://gerrit.cloudera.org:8080/24001
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I548834126540bcc8d22efc872c2571293b8b7ec4
Gerrit-Change-Number: 24001
Gerrit-PatchSet: 1
Gerrit-Owner: Arnab Karmakar <[email protected]>

Reply via email to