gty404 opened a new pull request, #682:
URL: https://github.com/apache/iceberg-cpp/pull/682

   ## Summary
   
   Implements `MergingSnapshotUpdate` — the abstract base class for merge-based 
snapshot operations (MergeAppend, OverwriteFiles, RowDelta, etc.), consistent 
with Java's `MergingSnapshotProducer`.
   
   ### Core Implementation
   - Filter → write → merge pipeline in `Apply()`
   - Conflict detection helpers
   - `AddDataFile`, `DeleteDataFile`, `AddDeleteFile`, `DeleteDeleteFile`, 
`AddManifest`, `AppendManifest` primitive API
   
   ### Supporting Changes
   - Add `ReplacedManifestsCount()` to `ManifestFilterManager` and 
`ManifestMergeManager`
   - Fix `SnapshotSummaryBuilder`: manifest count fields (`manifests-created`, 
`manifests-kept`, `manifests-replaced`) are now always emitted together — 
matching Java's `SnapshotProducer.buildManifestCountSummary`
   - Fix `SnapshotUpdate::DeleteFile`: removed `static` from capturing lambda 
(caused use-after-free heap corruption)
   
   ### Tests
   - `manifest_filter_manager_test.cc`: 27 tests
   - `merging_snapshot_update_test.cc`: 34 tests aligned with Java's 
`TestSnapshotSummary`, `TestMergeAppend`, `TestRowDelta`
   
   All 378 tests pass.


-- 
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]

Reply via email to