Summary
Document that version-specific checkout is already supported via lance_dataset_open(uri, opts, version). Closes the "checkout" portion of the Version management row in the README Phase 3 roadmap.
Motivation
lance_dataset_open already accepts a version parameter that opens the dataset at a specific version. This capability is not advertised in the header examples or README, making it easy to miss. No new ABI surface is needed — just documentation.
Proposed change
Add a short example to include/lance.h and README.md:
/* Open a dataset at version 42 (0 means latest). */
LanceDataset* ds = lance_dataset_open("file:///path/to/ds", NULL, 42);
And in include/lance.hpp:
// Open at a specific version.
auto ds = lance::Dataset::open("file:///path/to/ds", /*version=*/42);
Out of scope
- Adding a new
lance_dataset_checkout wrapper — not needed; the existing parameter covers the use case.
Tests
No new tests — existing lance_dataset_open tests already exercise the version parameter.
Locked design decisions
- Docs-only; no new ABI surface.
Related
- Part of the plan in
docs/plan-write-path.md.
- Sibling tickets: A1 (versions list), A2 (restore), B1 (dataset write), B2 (write params).
Summary
Document that version-specific checkout is already supported via
lance_dataset_open(uri, opts, version). Closes the "checkout" portion of the Version management row in the README Phase 3 roadmap.Motivation
lance_dataset_openalready accepts aversionparameter that opens the dataset at a specific version. This capability is not advertised in the header examples or README, making it easy to miss. No new ABI surface is needed — just documentation.Proposed change
Add a short example to
include/lance.handREADME.md:And in
include/lance.hpp:Out of scope
lance_dataset_checkoutwrapper — not needed; the existing parameter covers the use case.Tests
No new tests — existing
lance_dataset_opentests already exercise theversionparameter.Locked design decisions
Related
docs/plan-write-path.md.