aboutsummaryrefslogtreecommitdiff
path: root/refstore/reftable/TODO
diff options
context:
space:
mode:
authorGravatar Runxi Yu2026-02-21 12:27:55 +0800
committerGravatar Runxi Yu2026-02-21 12:27:55 +0800
commit680d30bd77c4793fe5c1eaa05ad5217a2faee7c0 (patch)
tree94f41a7ad5c9f82cce15639c969a42194b486dfa /refstore/reftable/TODO
parenttestgit: Add RepoOptions and NewRepo for ref format and bare. (diff)
signatureNo signature
refstore/reftable: Add basic implementation
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.