blob: 70e0ea27466bb9838cfd40e3b1943fd718a8bc0a (
about) (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
* One-time load -> immutable snapshots and such; publish only fully loaded
snapshots.
* Reload behavior for tables.list; read tables.list, open all listed tables,
and retry from the start if any listed table is missing during open.
* Snapshot staleness detection
* Resolve's block search should be restart aware. Then the linear scan is only
within the chosen restart window.
* Cache parsed index-block metadata per table and block offset. Reuse restart
offsets and decoded key boundaries across lookups to try to reduce repeated
parsing.
* Pin one snapshot for each high-level read call. ResolveFully should resolve
all symbolic hops against one snapshot and avoid repeated ensure/reload
checks per hop.
* Add lazy snapshot-derived caches for list-heavy operations. Build visible
merged refs and sorted names once per snapshot, and reuse for List and
Shorten.
* Make format parser stricter to match Git-level behavior. Validate unaligned
multi-ref-block tables require ref index, and enforce more precise
first-block/restart invariants where applicable.
* Improve parse and lookup diagnostics with contextual errors. Return
fmt.Errorf values that include table name, block offset, and record offset,
where possible.
|