docs(lance): record the lance-table #7480 patch pin — stanza, known gap, test-map row

Same-PR documentation for the vendored pin: a dated patch-pin stanza in
lance.md's alignment history (mechanism, pinning tests, removal
condition, and the adjacent v8-only #7251 finding that gates iss-986 on
the 7→8 bump), a Known Gaps entry in invariants.md so the pin cannot be
forgotten, and the writes.rs row in testing.md now names the row-id
overlap regression pair.
This commit is contained in:
aaltshuler 2026-07-02 02:17:25 +03:00 committed by Andrew Altshuler
parent b5c0c6238b
commit 26c420cb1a
3 changed files with 21 additions and 1 deletions

View file

@ -198,6 +198,17 @@ them explicit.
removed. (`delete` is no longer a residual — staged in MR-A. D2 is not a gap:
it is a deliberate constructive-XOR-destructive boundary, documented in
Invariant 4 and the truth matrix.)
- **Vendored lance-table pin (lance#7480):** `lance-table` 7.0.0 resolves to
`vendor/lance-table` via `[patch.crates-io]` — the pristine published source
plus ONLY the lance#7480 `rowids/index.rs` hunk, without which any filtered
read on a table that was merge-updated and then delete-touched fails
(lance#7444; `iss-merge-rowid-overlap-corrupts-filtered-reads`). The fix
ships in no Lance release ≤ 8.0.0. Remove the vendor dir + patch entry at
the first bump whose `lance-table` carries the fix (9.0.0, or a backported
8.0.1); `lance_surface_guards.rs::filtered_scan_tolerates_merge_update_row_id_overlap`
turns red if the pin is dropped early or a bump regresses it. See the
2026-07-02 stanza in [lance.md](lance.md) and
`vendor/lance-table/README.omnigraph.md`.
- **Blob-column compaction:** Lance `compact_files` mis-decodes blob-v2 columns
under its forced `BlobHandling::AllBinary` read ("more fields in the schema
than provided column indices"), so `optimize` skips any table with a `Blob`