iceberg-cpp
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
iceberg::TableRequirement Class Referenceabstract

Base class for update requirement operations. More...

#include <table_requirement.h>

Inheritance diagram for iceberg::TableRequirement:
iceberg::table::AssertCurrentSchemaID iceberg::table::AssertDefaultSortOrderID iceberg::table::AssertDefaultSpecID iceberg::table::AssertDoesNotExist iceberg::table::AssertLastAssignedFieldId iceberg::table::AssertLastAssignedPartitionId iceberg::table::AssertRefSnapshotID iceberg::table::AssertUUID

Public Types

enum class  Kind : uint8_t {
  kAssertDoesNotExist , kAssertUUID , kAssertRefSnapshotID , kAssertLastAssignedFieldId ,
  kAssertCurrentSchemaID , kAssertLastAssignedPartitionId , kAssertDefaultSpecID , kAssertDefaultSortOrderID
}
 

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< TableRequirementClone () const =0
 Create a deep copy of this requirement.
 

Friends

bool operator== (const TableRequirement &lhs, const TableRequirement &rhs)
 Compare two TableRequirement instances for equality.
 

Detailed Description

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.

Member Function Documentation

◆ Clone()

virtual std::unique_ptr< TableRequirement > iceberg::TableRequirement::Clone ( ) const
pure virtual

◆ Equals()

virtual bool iceberg::TableRequirement::Equals ( const TableRequirement other) const
pure virtual

◆ kind()

virtual Kind iceberg::TableRequirement::kind ( ) const
pure virtual

◆ Validate()

virtual Status iceberg::TableRequirement::Validate ( const TableMetadata base) const
pure virtual

Validate this requirement against table metadata.

Parameters
baseThe base table metadata to validate against (may be nullptr)
Returns
Status indicating success or failure with error details

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.


The documentation for this class was generated from the following file: