You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add lance_dataset_versions for listing dataset version history (#17)
## Summary
- Adds `lance_dataset_versions` — returns an opaque `LanceVersions`
snapshot
- Accessors: `lance_versions_count`, `lance_versions_id_at`,
`lance_versions_timestamp_ms_at`, `lance_versions_close`
- C++: new `lance::VersionInfo` struct and a
`lance::Dataset::versions()` member returning `std::vector<VersionInfo>`
## Motivation
C/C++ callers can read the current version and the latest version today,
but there's no way to list the full history. This covers the read side
of version management and is a prerequisite for restore (#12).
## Notes
- Handle pattern matches `LanceScanner` / `LanceBatch` (opaque handle +
index-based accessors).
- Each entry carries the monotonic version id and a Unix epoch
millisecond timestamp.
- Per-version metadata and tags are out of scope here — they're separate
features.
## Test plan
- `cargo test` — 7 new tests: single-version, multi-version ordering,
NULL on each entrypoint, out-of-range index (boundary + far), close-null
safety
- `cargo clippy --all-targets -- -D warnings` and `cargo fmt --check`
clean
- `cargo test --test compile_and_run_test -- --ignored` — C and C++
smoke tests iterate the snapshot
Closes#11.
0 commit comments