Skip to content

Commit 05e5a08

Browse files
committed
feat: add CherryPickOperation and wire SnapshotManager::Cherrypick
Implements cherry-picking an append or dynamic partition overwrite onto the current state, with source-snapshot-id and WAP publish tracking, non-ancestor and replaced-partition validation. SnapshotManager routes fast-forwardable picks to SetSnapshot, since those produce no snapshot. Closes the CherryPickOperation item in #637.
1 parent 97ce6eb commit 05e5a08

16 files changed

Lines changed: 980 additions & 3 deletions

‎src/iceberg/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ set(ICEBERG_SOURCES
119119
transform.cc
120120
transform_function.cc
121121
type.cc
122+
update/cherry_pick_operation.cc
122123
update/delete_files.cc
123124
update/expire_snapshots.cc
124125
update/fast_append.cc

‎src/iceberg/meson.build‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,7 @@ iceberg_sources = files(
172172
'transform.cc',
173173
'transform_function.cc',
174174
'type.cc',
175+
'update/cherry_pick_operation.cc',
175176
'update/delete_files.cc',
176177
'update/expire_snapshots.cc',
177178
'update/fast_append.cc',

‎src/iceberg/test/CMakeLists.txt‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@ if(ICEBERG_BUILD_BUNDLE)
227227
add_iceberg_test(table_update_test
228228
USE_BUNDLE
229229
SOURCES
230+
cherry_pick_operation_test.cc
230231
delete_files_test.cc
231232
expire_snapshots_test.cc
232233
fast_append_test.cc

0 commit comments

Comments
 (0)