Class DatasetRange
- Namespace
- DatabentoDotNet.Historical
- Assembly
- DatabentoDotNet.Historical.dll
The available range for a dataset.
public sealed record DatasetRange : IEquatable<DatasetRange>
- Inheritance
-
DatasetRange
- Implements
- Inherited Members
Remarks
Port of upstream's DatasetRange (databento-rs/src/historical/metadata.rs:307-318).
Returned by metadata.get_dataset_range: a top-level range covering every schema, plus
the narrower range each individual schema actually has data for.
Properties
End
The exclusive UTC end timestamp of the available range.
public required Instant End { get; init; }
Property Value
Remarks
Exclusive was probed, not assumed
(#46). A query
ending one nanosecond past this instant is refused with HTTP 422
data_schema_not_fully_available, naming the bound it exceeded, while one ending
exactly on it is accepted — so this is the first instant a query may not reach.
ToDateTimeRange() hands it to Between(Instant, Instant) as an
exclusive end, and that is correct. Had it instead named the last available
instant, that conversion would have been silently excluding the final record.
For an active dataset this is a live ingest watermark, not a fixed boundary. It
advances every few seconds and carries sub-second precision — one reading was
2026-08-28T07:37:47.468634000Z — so two calls moments apart legitimately disagree.
Compare it against Start or use it as a bound; do not pin its value.
RangeBySchema
The available ranges for each available schema in the dataset.
[JsonPropertyName("schema")]
public required IReadOnlyDictionary<Schema, DateTimeRange> RangeBySchema { get; init; }
Property Value
Remarks
schema on the wire (metadata.rs:316) even though the value is a map of many —
the second, and last, of this endpoint group's two renames.
Start
The inclusive UTC start timestamp of the available range.
public required Instant Start { get; init; }
Property Value
Methods
ToDateTimeRange()
Narrows this range to just its top-level Start and End, discarding RangeBySchema.
public DateTimeRange ToDateTimeRange()
Returns
- DateTimeRange
A DateTimeRange covering Start through End.
Remarks
Port of upstream's impl From<DatasetRange> for DateTimeRange
(metadata.rs:320-324), which destructures DatasetRange and keeps only
start and end. A conversion operator would let this happen implicitly at a
call site that meant to keep the schema map; a named method makes the narrowing visible
wherever it happens.