Arnab Karmakar created IMPALA-14675:
---------------------------------------

             Summary: Support complex predicates in SHOW PARTITIONS WHERE for 
Iceberg tables
                 Key: IMPALA-14675
                 URL: https://issues.apache.org/jira/browse/IMPALA-14675
             Project: IMPALA
          Issue Type: Improvement
          Components: Backend, Frontend
            Reporter: Arnab Karmakar


IMPALA-14555 added basic WHERE clause support for Iceberg SHOW PARTITIONS, but 
only supports simple predicates that can be converted to Iceberg expressions 
(e.g., column comparisons, BETWEEN, IN, IS NULL, AND, OR, NOT).

Complex predicates are currently not supported:
- SQL functions (e.g., SHOW PARTITIONS WHERE upper(action) = 'CLICK')
- Non-deterministic functions (e.g., SHOW PARTITIONS WHERE rand() < 0.5)
- Aggregate functions
- Analytic expressions

For such queries, users must currently use Iceberg metadata tables:
{code:java}
SELECT * FROM table.partitions WHERE upper(action) = 'CLICK'{code}
This follow-up work should add support for complex predicates by evaluating 
them per-partition using FeSupport.EvalPredicateBatch(), similar to how HDFS 
tables currently work (see HdfsPartitionPruner.prunePartitions with 
evalAllFuncs=true).

This would provide feature parity between HDFS and Iceberg tables for SHOW 
PARTITIONS WHERE.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to