aboutsummaryrefslogtreecommitdiff
path: root/refstore/reftable/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'refstore/reftable/TODO')
-rw-r--r--refstore/reftable/TODO22
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.