public interface AppendFiles extends SnapshotUpdate<AppendFiles>
This API accumulates file additions, produces a new Snapshot
of the table, and commits
that snapshot as the current.
When committing, these changes will be applied to the latest table snapshot. Commit conflicts will be resolved by applying the changes to the new latest snapshot and reattempting the commit.
Modifier and Type | Method and Description |
---|---|
AppendFiles |
appendFile(DataFile file)
Append a
DataFile to the table. |
AppendFiles |
appendManifest(ManifestFile file)
Append a
ManifestFile to the table. |
deleteWith, scanManifestsWith, set, stageOnly, toBranch
apply, commit, updateEvent
AppendFiles appendFile(DataFile file)
DataFile
to the table.file
- a data fileAppendFiles appendManifest(ManifestFile file)
ManifestFile
to the table.
The manifest must contain only appended files. All files in the manifest will be appended to the table in the snapshot created by this update.
The manifest will be used directly if snapshot ID inheritance is enabled (all tables with the format version > 1 or if the inheritance is enabled explicitly via table properties). Otherwise, the manifest will be rewritten to assign all entries this update's snapshot ID.
If the manifest is rewritten, it is always the responsibility of the caller to manage the lifecycle of the original manifest. If the manifest is used directly, it should never be deleted manually if the commit succeeds as it will become part of the table metadata and will be cleaned upon expiry. If the manifest gets merged with others while preparing a new snapshot, it will be deleted automatically if this operation is successful. If the commit fails, the manifest will never be deleted, and it is up to the caller whether to delete or reuse it.
file
- a manifest file