Antalya 26.1 Backport of #95476, #98360, #100361 - enable prewhere for iceberg (and fixes)#1581
Antalya 26.1 Backport of #95476, #98360, #100361 - enable prewhere for iceberg (and fixes)#1581mkmkme wants to merge 6 commits intoantalya-26.1from
Conversation
…r_iceberg enable prewhere for iceberg
…ere-external-columns Fix exception in Parquet PREWHERE when column is not in file
|
AI audit note: This review comment was generated by AI (claude-4.6-sonnet-medium-thinking). Audit update for PR #1581 (Antalya 26.1 backport of ClickHouse#95476, ClickHouse#98360 – enable PREWHERE for Iceberg): Confirmed defects: Medium: PREWHERE crashes on Iceberg tables that have undergone schema evolution (column renames)
Code evidence — /// TODO: Known problems with datalake prewhere:
/// * If the iceberg table went through schema evolution, columns read from file
/// may need to be renamed or typecast before applying prewhere. [...]
/// We should probably change this and delete that additional code?Code evidence — return std::make_shared<FormatFilterInfo>(
format_filter_info->filter_actions_dag,
format_filter_info->context.lock(),
mapper,
format_filter_info->row_level_filter,
format_filter_info->prewhere_info // ← references CURRENT column names,
); // but initial_header has OLD names
Coverage summary:
|
|
QA Verification: Issue found The CI run for this PR shows significant test failures caused by enabling PREWHERE for Iceberg tables:
All failures are deterministic and reproduce across all architectures and job configurations (amd_asan, amd_binary, amd_tsan, arm_binary). The same test ( Details: #1595 Adding |
…o-assertion Fix exception in `updateFormatPrewhereInfo` when only row-level filter is set
…ss instead of rows_total
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Enable PREWHERE optimization for Iceberg tables. (ClickHouse#95476 by @scanhex12)
Fix LOGICAL_ERROR exception in the Parquet V3 reader when PREWHERE references a column not present in the Parquet file (ClickHouse#98360 by @alexey-milovidov)
Fix exception "Logical error:
prewhere_info" when querying URL/S3 Parquet tables with a row-level security policy and no PREWHERE clause (ClickHouse#100361 by @alexey-milovidov)Documentation entry for user-facing changes
...
CI/CD Options
Exclude tests:
Regression jobs to run: