Arnab Karmakar created IMPALA-15720:
---------------------------------------
Summary: Push down OR of Iceberg LIKE predicates without NULL
partition crashes
Key: IMPALA-15720
URL: https://issues.apache.org/jira/browse/IMPALA-15720
Project: IMPALA
Issue Type: Improvement
Components: Frontend
Reporter: Arnab Karmakar
[IMPALA-15634|https://issues.apache.org/jira/browse/IMPALA-15634] refuses to
push any {{LIKE}} that appears under {{NOT}} or {{OR}} to Iceberg. That avoids
{{NullPointerException}} in Iceberg’s residual evaluation when {{startsWith()}}
/ {{notStartsWith()}} run on NULL partition values (for example {{{}s LIKE
'ab%' OR s IS NULL{}}}).
The interim rule is broader than necessary and drops useful pruning:
* SELECT: {{action LIKE 'c%' OR action LIKE 'd%'}} no longer prunes
partitions. On {{{}iceberg_partitioned{}}}, Test 4 regresses from 2/3 to 3/3
partitions scanned even though neither side of the OR can match NULL.
* SHOW FILES / DROP PARTITION: {{PARTITION (truncate(3, s) LIKE 'ab%' OR …)}}
fails conversion entirely instead of pushing a safe expression.
Testing: restore {{iceberg-like-pushdown.test}} Test 4 to {{partitions=2/3,
}}add SHOW FILES / DROP PARTITION with OR of LIKE.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)