Skip to contents

Returns snapshot metadata plus computed row counts for bars and instruments. This function does not mutate the database.

Usage

ledgr_snapshot_info(con, snapshot_id)

Arguments

con

A DBI connection to DuckDB or a ledgr_snapshot.

snapshot_id

Snapshot id (must exist) when con is a connection.

Value

A 1-row tibble with: snapshot_id, status, created_at_utc, sealed_at_utc, snapshot_hash, bar_count, instrument_count, start_date, end_date, meta_json, error_msg.

bar_count and instrument_count are live counts from the snapshot tables. start_date and end_date are parsed from seal metadata when present. meta_json remains available as the raw envelope metadata written on the snapshot row. Seal-time metadata inside meta_json may use n_bars and n_instruments; the public columns are bar_count and instrument_count. Metadata is not part of snapshot_hash.

Details

Timestamps are returned as ISO8601 UTC strings with trailing Z. Call it as ledgr_snapshot_info(snapshot) for a ledgr_snapshot handle, or as ledgr_snapshot_info(con, snapshot_id) for a raw DuckDB connection.

Errors:

  • ledgr_invalid_con if con is not a valid DBI connection.

  • ledgr_invalid_args if snapshot_id is not a non-empty character scalar.

  • LEDGR_SNAPSHOT_NOT_FOUND if snapshot_id does not exist.

Articles

Durable experiment stores: vignette("experiment-store", package = "ledgr") system.file("doc", "experiment-store.html", package = "ledgr")

Examples

bars <- ledgr_sim_bars(n_instruments = 1, n_days = 3, seed = 1)
snapshot <- ledgr_snapshot_from_df(bars)
ledgr_snapshot_info(snapshot)
#> # A tibble: 1 × 11
#>   snapshot_id        status created_at_utc sealed_at_utc snapshot_hash bar_count
#>   <chr>              <chr>  <chr>          <chr>         <chr>             <int>
#> 1 snapshot_20260616… SEALED 2026-06-16T14… 2026-06-16T1… 9673decd7d3e…         3
#> # ℹ 5 more variables: instrument_count <int>, start_date <chr>, end_date <chr>,
#> #   meta_json <chr>, error_msg <chr>
ledgr_snapshot_close(snapshot)

db_path <- tempfile(fileext = ".duckdb")
con <- ledgr_db_init(db_path)
snapshot_id <- ledgr_snapshot_create(
  con,
  snapshot_id = "snapshot_20200101_000000_abcd"
)
ledgr_snapshot_info(con, snapshot_id)
#> # A tibble: 1 × 11
#>   snapshot_id        status created_at_utc sealed_at_utc snapshot_hash bar_count
#>   <chr>              <chr>  <chr>          <chr>         <chr>             <int>
#> 1 snapshot_20200101… CREAT… 2026-06-16T14… NA            NA                    0
#> # ℹ 5 more variables: instrument_count <int>, start_date <chr>, end_date <chr>,
#> #   meta_json <chr>, error_msg <chr>
DBI::dbDisconnect(con, shutdown = TRUE)