pub struct CheckpointsRepo<'a> { /* private fields */ }Implementations§
Source§impl CheckpointsRepo<'_>
impl CheckpointsRepo<'_>
pub fn create(&self, new: NewCheckpoint) -> Result<CheckpointRecord>
pub fn get(&self, id: &str) -> Result<Option<CheckpointRecord>>
pub fn set_approval(&self, id: &str, approval_id: &str) -> Result<()>
Sourcepub fn delete(&self, id: &str) -> Result<bool>
pub fn delete(&self, id: &str) -> Result<bool>
Delete a checkpoint row outright. Returns whether a row was removed.
F23 (RC-F): coordinates the on-disk checkpoint-dir GC
(crate::checkpoint::gc_old_checkpoint_dirs) with the DB. The dir GC
prunes by mtime regardless of archive state, while storage Self /
gc() only removes ARCHIVED checkpoint rows — so a never-archived old
checkpoint would lose its directory while its row survived, and a later
restore_checkpoint would fail on the missing manifest. The dir GC now
calls this so list() and the on-disk dirs stay in agreement.
pub fn list(&self, limit: usize) -> Result<Vec<CheckpointRecord>>
pub fn list_all(&self, limit: usize) -> Result<Vec<CheckpointRecord>>
Sourcepub fn list_for_session(
&self,
session_id: &str,
after_message_index: i64,
) -> Result<Vec<CheckpointRecord>>
pub fn list_for_session( &self, session_id: &str, after_message_index: i64, ) -> Result<Vec<CheckpointRecord>>
Unarchived checkpoints of session_id anchored STRICTLY past
after_message_index, oldest first. Strict > is the fork-boundary
invariant: a fork at user-message index k keeps messages[..k], and
a checkpoint stamped message_index == k snapshotted state from
BEFORE that user message existed — it belongs to the kept prefix, not
the discarded timeline. Oldest-first because each checkpoint is a
PRE-mutation snapshot: the oldest one past the cut holds the file
state closest to the fork point.