jopdorp opened a new pull request, #3300: URL: https://github.com/apache/iceberg-rust/pull/3300
## Which issue does this PR close? Part of #2186. ## What changes are included in this PR? Continues #2185 by @glitchy, with their commits kept as they were, and addresses @laskoviymishka's review on top: - A rewritten manifest keeps its deleted entries deleted and is stamped with the schema and partition spec it was written under. - Delete-only manifests survive an overwrite, as they do a fast append. - The summary counts the files the rewrite actually marked deleted, and a delete of a path the table does not have is rejected, as in Java. - Rewritten manifests go through `SnapshotProducer::new_manifest_writer`, so they are named after the commit uuid and use the encryption manager. - `add_deleted_entry` is now `add_tombstone_entry`, and the operation is delete, append or overwrite depending on what the commit does, matching `BaseOverwriteFiles`. - Merged main and regenerated `public-api.txt`. It includes the producer changes proposed separately in #3253; those drop out of this diff once that merges. Happy to adjust or split further. ## Are these changes tested? Each review fix has a test in `transaction::overwrite::tests` that reads the committed manifests back and fails without the fix. `cargo test -p iceberg --lib`, the public API check, fmt and clippy with `-D warnings` are clean. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
