Commit bf26218
authored
feat(manifest): add ManifestFilterManager and ManifestMergeManager (#652)
Implement two manifest management classes for table write operations:
- ManifestFilterManager: filters manifest entries by row filter
expression, file path, or partition value; supports
FailMissingDeletePaths validation. Rewrites manifests that contain
matching files, marking entries as DELETED; passes through manifests
that cannot contain matching files unchanged.
- ManifestMergeManager: merges small manifests using greedy bin-packing,
grouping by partition_spec_id (manifests with different specs are never
merged). Oversized manifests pass through unchanged. ADDED entries from
prior manifests become EXISTING when merged (matching Java semantics).1 parent 83aa988 commit bf26218
13 files changed
Lines changed: 1711 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
| 51 | + | |
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
| |||
0 commit comments