24#include <unordered_map>
26#include "iceberg/iceberg_export.h"
27#include "iceberg/result.h"
41 static Result<std::shared_ptr<UpdateSnapshotReference>> Make(
42 std::shared_ptr<TransactionContext> ctx);
78 const std::string& new_name);
117 int32_t min_snapshots_to_keep);
125 int64_t max_snapshot_age_ms);
133 int64_t max_ref_age_ms);
135 Kind
kind() const final {
return Kind::kUpdateSnapshotReference; }
146 std::vector<std::pair<std::string, std::shared_ptr<SnapshotRef>>>
to_set;
152 Result<ApplyResult> Apply();
158 const std::string& to,
161 std::unordered_map<std::string, std::shared_ptr<SnapshotRef>> updated_refs_;
Base class for all kinds of table metadata updates.
Definition pending_update.h:41
Updates snapshot references.
Definition update_snapshot_reference.h:39
Kind kind() const final
Return the kind of this pending update.
Definition update_snapshot_reference.h:135
bool IsRetryable() const override
Snapshot reference updates are not retryable.
Definition update_snapshot_reference.h:142
Definition update_snapshot_reference.h:144
std::vector< std::string > to_remove
Reference names to remove.
Definition update_snapshot_reference.h:148
std::vector< std::pair< std::string, std::shared_ptr< SnapshotRef > > > to_set
References to set or update (name, ref pairs)
Definition update_snapshot_reference.h:146