Antalya 26.6: Implement TRUNCATE TABLE for Iceberg Engine (REST … - #2125
Antalya 26.6: Implement TRUNCATE TABLE for Iceberg Engine (REST …#2125zvonand wants to merge 3 commits into
Conversation
feature (iceberg): Implement TRUNCATE TABLE for Iceberg Engine (REST …
CI triageVerdict: 2 failing checks — both PR-caused, same root cause. Nothing flaky/infra/pre-existing. Both red checks (Build (arm_tidy) and Fast test) fail at compile time on the same code. Every other job shows There are two distinct compile problems: 1. Duplicate Iceberg field aliases in
|
|
@blau-ai commit the fix directly to this branch |
) The #1655 backport was written against the antalya-26.3 Iceberg writer API and did not compile on antalya-26.6, breaking Build (arm_tidy) and Fast test: * Constant.h re-added the `deleted_records` / `deleted_data_files` field aliases that antalya-26.6 already defines, causing macro redefinition errors. Drop the duplicate definitions. * IcebergMetadata::truncate() used the 26.3 FileNamesGenerator / MetadataGenerator / generateManifestList signatures. Rewrite it to follow the antalya-26.6 writer (IcebergStorageSink in IcebergWrites.cpp): - 4-arg FileNamesGenerator over resolver.getTableLocation(); - generateMetadataPathWithInfo() instead of the removed generateMetadataName(); - generateNextMetadata() now returns {snapshot, manifest_list_path}; resolve storage paths via IcebergPathResolver::resolve() and the catalog path via resolveForCatalog(); - generateManifestList(resolver, ...) with empty entry/size vectors. Metadata-only truncate semantics are unchanged. Not built locally; validated by CI on this PR. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Done — committed the fix directly to Commit: What changed (both compile errors from the triage above)1. 2.
The metadata-only truncate semantics (empty overwrite snapshot superseding all previous snapshots) are unchanged; the ValidationI can't build ClickHouse in this environment, so this is validated by CI on this PR, not locally. The two red checks (Build (arm_tidy), Fast test) both failed at compile time on exactly these two spots; a fresh run should now get past compilation. I'll be watching — ping me if anything downstream (e.g. the follow-on mismatches clang-tidy would have hidden behind its 5-error cap) still trips. |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Frontport for Antalya 26.3
CI/CD Options
Exclude tests:
Regression jobs to run:
Cherry-picked from #1655.
Adaptation notes for antalya-26.3
The following API changes between antalya-26.1 and antalya-26.3 required adaptation:
RestCatalogconstructor signature updated to matchantalya-26.3calling convention inDataLakeConfiguration.hDatabaseDataLakeSettingmember names updatedCargo.lockrestored toantalya-26.3version (our changes do not touch any Rust code)All feature logic is identical to the merged antalya-26.1 implementation.