62 std::string table_name, std::shared_ptr<TransactionContext> ctx);
184 const std::shared_ptr<Snapshot>& snapshot)
override;
188 std::shared_ptr<TransactionContext> ctx);
191 std::shared_ptr<Expression> DataConflictDetectionFilter()
const;
194 bool validate_added_files_match_overwrite_filter_ =
false;
195 std::optional<int64_t> starting_snapshot_id_;
196 std::shared_ptr<Expression> conflict_detection_filter_;
197 bool validate_new_data_files_ =
false;
198 bool validate_new_deletes_ =
false;
A set of DataFile pointers with insertion order preserved and deduplicated by file path.
Definition data_file_set.h:44
A set of delete-file pointers deduplicated by delete-file identity.
Definition data_file_set.h:144
Abstract base class for merge-based snapshot write operations.
Definition merging_snapshot_update.h:63
API for overwriting files in a table.
Definition overwrite_files.h:54
OverwriteFiles & CaseSensitive(bool case_sensitive)
Enable or disable case-sensitive expression binding for validations that accept expressions.
Status Validate(const TableMetadata ¤t_metadata, const std::shared_ptr< Snapshot > &snapshot) override
Validate the current metadata.
std::string operation() override
A string that describes the action that produced the new snapshot.
OverwriteFiles & ValidateNoConflictingData()
Enable validation that data added concurrently does not conflict with this commit's operation.
OverwriteFiles & AddFile(const std::shared_ptr< DataFile > &file)
Add a DataFile to the table.
static Result< std::shared_ptr< OverwriteFiles > > Make(std::string table_name, std::shared_ptr< TransactionContext > ctx)
Create a new OverwriteFiles instance.
OverwriteFiles & DeleteFiles(const DataFileSet &data_files_to_delete, const DeleteFileSet &delete_files_to_delete)
Delete a set of data files from the table with their respective delete files.
OverwriteFiles & OverwriteByRowFilter(std::shared_ptr< Expression > expr)
Delete files that match an expression on data rows from the table.
OverwriteFiles & ConflictDetectionFilter(std::shared_ptr< Expression > expr)
Set a conflict detection filter used to validate concurrently added data and delete files.
OverwriteFiles & ValidateFromSnapshot(int64_t snapshot_id)
Set the snapshot ID used in any reads for this operation.
OverwriteFiles & ValidateNoConflictingDeletes()
Enable validation that deletes that happened concurrently do not conflict with this commit's operatio...
OverwriteFiles & DeleteFile(const std::shared_ptr< DataFile > &file)
Delete a DataFile from the table.
OverwriteFiles & ValidateAddedFilesMatchOverwriteFilter()
Signal that each file added to the table must match the overwrite expression.
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:33
std::expected< T, E > Result
Result alias.
Definition result.h:88
Define Result, Status, and error helpers.