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)

Reply via email to