|
iceberg-cpp
|
Base class for metadata update operations. More...
#include <table_update.h>
Public Member Functions | |
| virtual Kind | kind () const =0 |
| Return the kind of this update. | |
| virtual void | ApplyTo (TableMetadataBuilder &builder) const =0 |
| Apply this update to a TableMetadataBuilder. | |
| virtual void | GenerateRequirements (TableUpdateContext &context) const =0 |
| Generate update requirements for this metadata update. | |
| virtual bool | Equals (const TableUpdate &other) const =0 |
| Check equality with another TableUpdate. | |
| virtual std::unique_ptr< TableUpdate > | Clone () const =0 |
| Create a deep copy of this update. | |
Friends | |
| bool | operator== (const TableUpdate &lhs, const TableUpdate &rhs) |
| Compare two TableUpdate instances for equality. | |
Base class for metadata update operations.
Represents a change to table metadata. Each concrete subclass represents a specific type of update operation.
|
pure virtual |
Apply this update to a TableMetadataBuilder.
This method modifies the builder by applying the update operation it represents. Each subclass implements this to apply its specific type of update.
| builder | The builder to apply this update to |
Implemented in iceberg::table::AssignUUID, iceberg::table::UpgradeFormatVersion, iceberg::table::AddSchema, iceberg::table::SetCurrentSchema, iceberg::table::AddPartitionSpec, iceberg::table::SetDefaultPartitionSpec, iceberg::table::RemovePartitionSpecs, iceberg::table::RemoveSchemas, iceberg::table::AddSortOrder, iceberg::table::SetDefaultSortOrder, iceberg::table::AddSnapshot, iceberg::table::RemoveSnapshots, iceberg::table::RemoveSnapshotRef, iceberg::table::SetSnapshotRef, iceberg::table::SetProperties, iceberg::table::RemoveProperties, iceberg::table::SetLocation, iceberg::table::SetStatistics, iceberg::table::RemoveStatistics, iceberg::table::SetPartitionStatistics, and iceberg::table::RemovePartitionStatistics.
|
pure virtual |
Create a deep copy of this update.
Implemented in iceberg::table::AssignUUID, iceberg::table::UpgradeFormatVersion, iceberg::table::AddSchema, iceberg::table::SetCurrentSchema, iceberg::table::AddPartitionSpec, iceberg::table::SetDefaultPartitionSpec, iceberg::table::RemovePartitionSpecs, iceberg::table::RemoveSchemas, iceberg::table::AddSortOrder, iceberg::table::SetDefaultSortOrder, iceberg::table::AddSnapshot, iceberg::table::RemoveSnapshots, iceberg::table::RemoveSnapshotRef, iceberg::table::SetSnapshotRef, iceberg::table::SetProperties, iceberg::table::RemoveProperties, iceberg::table::SetLocation, iceberg::table::SetStatistics, iceberg::table::RemoveStatistics, iceberg::table::SetPartitionStatistics, and iceberg::table::RemovePartitionStatistics.
|
pure virtual |
Check equality with another TableUpdate.
| other | The update to compare with |
Implemented in iceberg::table::AssignUUID, iceberg::table::UpgradeFormatVersion, iceberg::table::AddSchema, iceberg::table::SetCurrentSchema, iceberg::table::AddPartitionSpec, iceberg::table::SetDefaultPartitionSpec, iceberg::table::RemovePartitionSpecs, iceberg::table::RemoveSchemas, iceberg::table::AddSortOrder, iceberg::table::SetDefaultSortOrder, iceberg::table::AddSnapshot, iceberg::table::RemoveSnapshots, iceberg::table::RemoveSnapshotRef, iceberg::table::SetSnapshotRef, iceberg::table::SetProperties, iceberg::table::RemoveProperties, iceberg::table::SetLocation, iceberg::table::SetStatistics, iceberg::table::RemoveStatistics, iceberg::table::SetPartitionStatistics, and iceberg::table::RemovePartitionStatistics.
|
pure virtual |
Generate update requirements for this metadata update.
This method generates the appropriate UpdateRequirement instances that must be validated before this update can be applied. The context provides information about the base metadata and operation mode.
| context | The context containing base metadata and operation state |
Implemented in iceberg::table::AssignUUID, iceberg::table::UpgradeFormatVersion, iceberg::table::AddSchema, iceberg::table::SetCurrentSchema, iceberg::table::AddPartitionSpec, iceberg::table::SetDefaultPartitionSpec, iceberg::table::RemovePartitionSpecs, iceberg::table::RemoveSchemas, iceberg::table::AddSortOrder, iceberg::table::SetDefaultSortOrder, iceberg::table::AddSnapshot, iceberg::table::RemoveSnapshots, iceberg::table::RemoveSnapshotRef, iceberg::table::SetSnapshotRef, iceberg::table::SetProperties, iceberg::table::RemoveProperties, iceberg::table::SetLocation, iceberg::table::SetStatistics, iceberg::table::RemoveStatistics, iceberg::table::SetPartitionStatistics, and iceberg::table::RemovePartitionStatistics.
|
pure virtual |
Return the kind of this update.
Implemented in iceberg::table::AssignUUID, iceberg::table::UpgradeFormatVersion, iceberg::table::AddSchema, iceberg::table::SetCurrentSchema, iceberg::table::AddPartitionSpec, iceberg::table::SetDefaultPartitionSpec, iceberg::table::RemovePartitionSpecs, iceberg::table::RemoveSchemas, iceberg::table::AddSortOrder, iceberg::table::SetDefaultSortOrder, iceberg::table::AddSnapshot, iceberg::table::RemoveSnapshots, iceberg::table::RemoveSnapshotRef, iceberg::table::SetSnapshotRef, iceberg::table::SetProperties, iceberg::table::RemoveProperties, iceberg::table::SetLocation, iceberg::table::SetStatistics, iceberg::table::RemoveStatistics, iceberg::table::SetPartitionStatistics, and iceberg::table::RemovePartitionStatistics.