|
iceberg-cpp
|
Base class for update requirement operations. More...
#include <table_requirement.h>
Public Member Functions | |
| virtual Kind | kind () const =0 |
| Return the kind of requirement. | |
| virtual Status | Validate (const TableMetadata *base) const =0 |
| Validate this requirement against table metadata. | |
| virtual bool | Equals (const TableRequirement &other) const =0 |
| Check equality with another TableRequirement. | |
| virtual std::unique_ptr< TableRequirement > | Clone () const =0 |
| Create a deep copy of this requirement. | |
Friends | |
| bool | operator== (const TableRequirement &lhs, const TableRequirement &rhs) |
| Compare two TableRequirement instances for equality. | |
Base class for update requirement operations.
Represents a requirement that must be validated before applying metadata updates to a table. Each concrete subclass represents a specific type of requirement check.
|
pure virtual |
Create a deep copy of this requirement.
Implemented in iceberg::table::AssertDoesNotExist, iceberg::table::AssertUUID, iceberg::table::AssertRefSnapshotID, iceberg::table::AssertLastAssignedFieldId, iceberg::table::AssertCurrentSchemaID, iceberg::table::AssertLastAssignedPartitionId, iceberg::table::AssertDefaultSpecID, and iceberg::table::AssertDefaultSortOrderID.
|
pure virtual |
Check equality with another TableRequirement.
| other | The requirement to compare with |
Implemented in iceberg::table::AssertDoesNotExist, iceberg::table::AssertUUID, iceberg::table::AssertRefSnapshotID, iceberg::table::AssertLastAssignedFieldId, iceberg::table::AssertCurrentSchemaID, iceberg::table::AssertLastAssignedPartitionId, iceberg::table::AssertDefaultSpecID, and iceberg::table::AssertDefaultSortOrderID.
|
pure virtual |
Return the kind of requirement.
Implemented in iceberg::table::AssertDoesNotExist, iceberg::table::AssertUUID, iceberg::table::AssertRefSnapshotID, iceberg::table::AssertLastAssignedFieldId, iceberg::table::AssertCurrentSchemaID, iceberg::table::AssertLastAssignedPartitionId, iceberg::table::AssertDefaultSpecID, and iceberg::table::AssertDefaultSortOrderID.
|
pure virtual |
Validate this requirement against table metadata.
| base | The base table metadata to validate against (may be nullptr) |
Implemented in iceberg::table::AssertDoesNotExist, iceberg::table::AssertUUID, iceberg::table::AssertRefSnapshotID, iceberg::table::AssertLastAssignedFieldId, iceberg::table::AssertCurrentSchemaID, iceberg::table::AssertLastAssignedPartitionId, iceberg::table::AssertDefaultSpecID, and iceberg::table::AssertDefaultSortOrderID.