Package org.apache.iceberg
Interface PendingUpdate<T>
- Type Parameters:
T- Java class of changes from this update; returned byapply()for validation.
- All Known Subinterfaces:
AppendFiles,DeleteFiles,ExpireSnapshots,ManageSnapshots,OverwriteFiles,ReplacePartitions,ReplaceSortOrder,ReplaceViewVersion,RewriteFiles,RewriteManifests,RowDelta,SnapshotUpdate<ThisT>,UpdateLocation,UpdatePartitionSpec,UpdatePartitionStatistics,UpdateProperties,UpdateSchema,UpdateStatistics,UpdateViewProperties
- All Known Implementing Classes:
BaseOverwriteFiles,BaseReplacePartitions,BaseReplaceSortOrder,BaseRewriteManifests,BaseRowDelta,SetLocation,SetPartitionStatistics,SetStatistics,SnapshotManager,StreamingDelete
public interface PendingUpdate<T>
API for table metadata changes.
-
Method Details
-
apply
T apply()Apply the pending changes and return the uncommitted changes for validation.This does not result in a permanent update.
- Returns:
- the uncommitted changes that would be committed by calling
commit() - Throws:
ValidationException- If the pending changes cannot be applied to the current metadataIllegalArgumentException- If the pending changes are conflicting or invalid
-
commit
void commit()Apply the pending changes and commit.Changes are committed by calling the underlying table's commit method.
Once the commit is successful, the updated table will be refreshed.
- Throws:
ValidationException- If the update cannot be applied to the current table metadata.CommitFailedException- If the update cannot be committed due to conflicts.CommitStateUnknownException- If the update success or failure is unknown, no cleanup should be done in this case.
-
updateEvent
Generates update event to notify about metadata changes- Returns:
- the generated event
-