reckon_db_snapshots_store (reckon_db v1.6.0)

View Source

Snapshots store for reckon-db

Manages snapshot persistence and retrieval directly via Khepri. Snapshots are stored at path [snapshots, StreamId, PaddedVersion].

Summary

Functions

Delete all snapshots for a stream

Delete a specific snapshot version

Check if any snapshot exists for a stream

Check if a specific snapshot version exists

Get the latest snapshot for a stream

Get a specific snapshot version for a stream

Get the latest snapshot for a stream

List all snapshots for a stream

Store a snapshot

Types

snapshot/0

-type snapshot() ::
          #snapshot{stream_id :: binary(),
                    version :: non_neg_integer(),
                    data :: map() | binary(),
                    metadata :: map(),
                    timestamp :: integer()}.

store_id/0

-type store_id() :: atom().

Functions

delete(StoreId, StreamId)

-spec delete(store_id(), binary()) -> ok | {error, term()}.

Delete all snapshots for a stream

delete(StoreId, StreamId, Version)

-spec delete(store_id(), binary(), non_neg_integer()) -> ok | {error, term()}.

Delete a specific snapshot version

exists(StoreId, StreamId)

-spec exists(store_id(), binary()) -> boolean().

Check if any snapshot exists for a stream

exists(StoreId, StreamId, Version)

-spec exists(store_id(), binary(), non_neg_integer()) -> boolean().

Check if a specific snapshot version exists

get(StoreId, StreamId)

-spec get(store_id(), binary()) -> snapshot() | undefined.

Get the latest snapshot for a stream

get(StoreId, StreamId, Version)

-spec get(store_id(), binary(), non_neg_integer()) -> snapshot() | undefined.

Get a specific snapshot version for a stream

get_latest(StoreId, StreamId)

-spec get_latest(store_id(), binary()) -> snapshot() | undefined.

Get the latest snapshot for a stream

list(StoreId, StreamId)

-spec list(store_id(), binary()) -> {ok, [snapshot()]} | {error, term()}.

List all snapshots for a stream

put(StoreId, Snapshot)

-spec put(store_id(), snapshot()) -> ok | {error, term()}.

Store a snapshot