diff options
Diffstat (limited to 'refstore/reftable/TODO')
| -rw-r--r-- | refstore/reftable/TODO | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/refstore/reftable/TODO b/refstore/reftable/TODO new file mode 100644 index 00000000..70e0ea27 --- /dev/null +++ b/refstore/reftable/TODO @@ -0,0 +1,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. |
