|
iceberg-cpp
|
Factory class for generating table requirements. More...
#include <table_requirements.h>
Static Public Member Functions | |
| static Result< std::vector< std::unique_ptr< TableRequirement > > > | ForCreateTable (const std::vector< std::unique_ptr< TableUpdate > > &table_updates) |
| Generate requirements for creating a new table. | |
| static Result< std::vector< std::unique_ptr< TableRequirement > > > | ForReplaceTable (const TableMetadata &base, const std::vector< std::unique_ptr< TableUpdate > > &table_updates) |
| Generate requirements for replacing an existing table. | |
| static Result< std::vector< std::unique_ptr< TableRequirement > > > | ForUpdateTable (const TableMetadata &base, const std::vector< std::unique_ptr< TableUpdate > > &table_updates) |
| Generate requirements for updating an existing table. | |
| static Result< bool > | IsCreate (const std::vector< std::unique_ptr< TableRequirement > > &requirements) |
| Check if the requirements are for table creation. | |
Factory class for generating table requirements.
This class analyzes a sequence of table updates and generates the appropriate table requirements to ensure safe concurrent modifications.
|
static |
Generate requirements for creating a new table.
For table creation, this requires that the table does not already exist.
| table_updates | The list of table updates for table creation |
|
static |
Generate requirements for replacing an existing table.
For table replacement, this requires that the table UUID matches but allows more aggressive changes than a regular update.
| base | The base table metadata |
| table_updates | The list of table updates for replacement |
|
static |
Generate requirements for updating an existing table.
For table updates, this generates requirements to ensure that key metadata properties haven't changed concurrently.
| base | The base table metadata |
| table_updates | The list of table updates |