As-of reads
Read any record of a Dataset as it stood at an earlier time or Version, so an order, an audit or a model run is reproducible years later.
An as-of read returns a record as it stood at an earlier moment. Nothing in a Dataset is overwritten, so every past value is still there to read.
One input on every get
Every get takes at: a time, or a Version name. Unset, it reads the record as it stands now. On the API, the same read appends @ and the time to the record's address.
| Read | Returns |
|---|---|
A rate with no at | The rate in force now |
The same rate at an order's date | The rate the checkout charged that day |
The same rate at a Version name | The rate under that build of the definition |
A checkout that stores the time of each order reproduces every tax line it charged. Its auditor reads the same answer a year later.
Why it replaces snapshots
A copy of the whole Dataset on a date is one more thing to store and to trust. An as-of read gives the same answer from the record itself, for any moment, with no copy to keep.
Corrections and the past
A refreshed value keeps the one it replaced, and both read back. A corrected value keeps the wrong one it fixed, with the reason, so an as-of read shows what a buyer was served then. Corrections has status planned.