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


Change subject: IMPALA-14555: Add Iceberg support for SHOW PARTITIONS WHERE
......................................................................

IMPALA-14555: Add Iceberg support for SHOW PARTITIONS WHERE

This patch adds WHERE clause support for SHOW PARTITIONS on Iceberg
tables, extending the functionality previously added for HDFS tables
in IMPALA-14065.

Iceberg uses manifest-based metadata filtering instead of filesystem
traversal, so predicates are evaluated using Iceberg's TableScan.filter()
API. This initial implementation supports simple predicates
(comparisons, IN, BETWEEN, IS NULL, AND/OR) but not functions,
subqueries, or analytics.

For complex queries with functions, users should use Iceberg metadata tables:
  SELECT * FROM table.partitions WHERE <complex predicate>

Key changes:
- Added IcebergPartitionStatsHelper for WHERE clause analysis on Iceberg tables
- Updated ShowStatsStmt to route Iceberg tables to the new helper
- Modified FeIcebergTable.Utils.getPartitionStats() to accept optional Iceberg
  Expression filter for efficient manifest-level partition pruning
- Added filtered_iceberg_partition_stats to TShowStatsParams for passing
  pre-computed results from analysis to execution

Testing:
- Unit tests in AnalyzeDDLTest for valid predicates and error cases
- End-to-end tests in show-stats.test covering various predicate types

Change-Id: I4c0ee4d171ae939770725d89dc504e13f82a7688
---
M common/thrift/Frontend.thrift
M docs/topics/impala_iceberg.xml
M fe/src/main/java/org/apache/impala/analysis/IcebergPartitionExpr.java
A fe/src/main/java/org/apache/impala/analysis/IcebergPartitionStatsHelper.java
M fe/src/main/java/org/apache/impala/analysis/ShowStatsStmt.java
M fe/src/main/java/org/apache/impala/catalog/FeIcebergTable.java
M fe/src/main/java/org/apache/impala/service/Frontend.java
M fe/src/main/java/org/apache/impala/service/JniFrontend.java
M fe/src/test/java/org/apache/impala/analysis/AnalyzeDDLTest.java
M testdata/workloads/functional-query/queries/QueryTest/show-stats.test
10 files changed, 561 insertions(+), 56 deletions(-)



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

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

Reply via email to