53 static Result<std::shared_ptr<SnapshotManager>> Make(std::shared_ptr<Table> table);
58 static Result<std::shared_ptr<SnapshotManager>> Make(
59 std::shared_ptr<Transaction> transaction);
102 SnapshotManager& CreateBranch(
const std::string& name, int64_t snapshot_id);
109 SnapshotManager& CreateTag(
const std::string& name, int64_t snapshot_id);
128 SnapshotManager& ReplaceTag(
const std::string& name, int64_t snapshot_id);
135 SnapshotManager& ReplaceBranch(
const std::string& name, int64_t snapshot_id);
144 SnapshotManager& ReplaceBranch(
const std::string& from,
const std::string& to);
154 SnapshotManager& FastForwardBranch(
const std::string& from,
const std::string& to);
161 SnapshotManager& RenameBranch(
const std::string& name,
const std::string& new_name);
169 int32_t min_snapshots_to_keep);
177 int64_t max_snapshot_age_ms);
184 SnapshotManager& SetMaxRefAgeMs(
const std::string& name, int64_t max_ref_age_ms);
190 SnapshotManager(std::shared_ptr<Transaction> transaction,
bool is_external_transaction);
193 Result<std::shared_ptr<UpdateSnapshotReference>> UpdateSnapshotReferencesOperation();
196 Status CommitIfRefUpdatesExist();
198 std::shared_ptr<Transaction> transaction_;
199 const bool is_external_transaction_;
200 std::shared_ptr<UpdateSnapshotReference> update_snap_refs_;