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)