Commit 4e37cbf
committed
feat: add missing methods to SnapshotUpdate interface
Add DeleteWith() and ToBranch() methods to complete the SnapshotUpdate API
coverage from Java implementation. This brings the interface closer to
feature parity with Java Iceberg.
New methods:
- DeleteWith(): Set custom file deletion callback for tracking deleted files,
implementing custom retention policies, or delegating deletion to external
systems. Uses std::function<void(std::string_view)> for the callback.
- ToBranch(): Commit snapshot to a specific branch instead of main branch.
Useful for Write-Audit-Publish (WAP) workflows, feature branch development,
and testing changes before merging to main.
Method deferred:
- ScanManifestsWith(): Deferred until executor/thread pool infrastructure is
available in the codebase. Documented in class comments for future addition.
Changes:
- Add DeleteWith() and ToBranch() methods with fluent API
- Add delete_func_ and target_branch_ protected members
- Add 3 new test cases: DeleteWith, ToBranch, MethodChainingWithAllMethods
- Update class documentation to list included and deferred methods
- Total test count increased from 10 to 13, all passing1 parent 7223810 commit 4e37cbf
2 files changed
+100
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
25 | 27 | | |
26 | 28 | | |
27 | 29 | | |
| |||
42 | 44 | | |
43 | 45 | | |
44 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
45 | 57 | | |
46 | 58 | | |
47 | 59 | | |
| |||
74 | 86 | | |
75 | 87 | | |
76 | 88 | | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
77 | 119 | | |
78 | 120 | | |
79 | 121 | | |
| |||
82 | 124 | | |
83 | 125 | | |
84 | 126 | | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
85 | 133 | | |
86 | 134 | | |
87 | 135 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
71 | 75 | | |
72 | 76 | | |
73 | 77 | | |
| |||
100 | 104 | | |
101 | 105 | | |
102 | 106 | | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
103 | 134 | | |
104 | 135 | | |
105 | 136 | | |
| |||
114 | 145 | | |
115 | 146 | | |
116 | 147 | | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
117 | 169 | | |
118 | 170 | | |
119 | 171 | | |
| |||
0 commit comments