IMPALA-14065: Support WHERE clause in SHOW PARTITIONS statement

This patch extends the SHOW PARTITIONS statement to allow an optional
WHERE clause that filters partitions based on partition column values.
The implementation adds support for various comparison operators,
IN lists, BETWEEN clauses, IS NULL, and logical AND/OR expressions
involving partition columns.

Non-partition columns, subqueries, and analytic expressions in the
WHERE clause are not allowed and will result in an analysis error.

New analyzer tests have been added to AnalyzeDDLTest#TestShowPartitions
to verify correct parsing, semantic validation, and error handling for
supported and unsupported cases.

Testing:
- Added new unit tests in AnalyzeDDLTest for valid and invalid WHERE
clause cases.
- Verified functional tests covering partition filtering behavior.

Change-Id: I2e2a14aabcea3fb17083d4ad6f87b7861113f89e
Reviewed-on: http://gerrit.cloudera.org:8080/23566
Reviewed-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
Tested-by: Impala Public Jenkins <impala-public-jenkins@cloudera.com>
This commit is contained in:
Arnab Karmakar
2025-10-21 16:41:18 +05:30
committed by Impala Public Jenkins
parent 1684c2d9da
commit ddd82e02b9
17 changed files with 875 additions and 102 deletions

View File

@@ -253,6 +253,8 @@ struct TShowStatsParams {
1: TShowStatsOp op
2: CatalogObjects.TTableName table_name
3: optional bool show_column_minmax_stats
// Optional: filtered partition ids for SHOW PARTITIONS with a WHERE clause.
4: optional list<i64> filtered_partition_ids
}
// Parameters for DESCRIBE HISTORY command