48 public std::enable_shared_from_this<PendingUpdate> {
50 enum class Kind : uint8_t {
55 kUpdatePartitionStatistics,
59 kUpdateSnapshotReference,
65 virtual Kind
kind()
const = 0;
88 explicit PendingUpdate(std::shared_ptr<TransactionContext> ctx);
92 Status CheckCommitAllowed()
const;
100 std::shared_ptr<TransactionContext> ctx_;
105 bool commit_called_ =
false;
Base class for collecting errors in the builder pattern.
Definition error_collector.h:99
Base class for all kinds of table metadata updates.
Definition pending_update.h:48
virtual Kind kind() const =0
Return the kind of this pending update.
virtual Status CleanStaged()
Discard this generation's staging, retaining applied operation intent.
Definition pending_update.h:95
virtual Status Finalize(const TableMetadata &committed)
Complete a known successful commit. Called only by Transaction with the final committed table metadat...
virtual bool IsRetryable() const =0
Whether this update can be retried after a commit conflict.
virtual Status Commit()
Apply the pending changes and commit.
A transaction for performing multiple updates to a table.
Definition transaction.h:53
Definition expected.h:1199
Define symbol visibility macros for core Iceberg APIs.
Core Apache Iceberg C++ APIs.
Definition arrow_io_util.h:34
Define Result, Status, and error helpers.