419fb133
fix(browse): resolve out-of-line text instead of rendering <binary>
Dolt stores text/longtext past a small inline threshold out-of-line, addressed by a content hash — StringAddrEnc (older writers) or StringAdaptiveEnc (inline-or-address, current writers). renderCell handled neither: address-encoded strings fell into the binary-placeholder switch and rendered "<binary>", while adaptive ones fell through to FormatValue and rendered the raw address hash. Every long description, close reason, comment body, and audit-event payload was lost on real databases. Resolve both through the prolly map's NodeStore (which satisfies val.ValueStore): GetStringAddr + NewTextStorage().Unwrap for the plain address case, GetStringAdaptiveValue (string | *TextStorage) for the adaptive case. Genuine binary/opaque encodings (blob, geometry, json-addr, commit-addr) still degrade to "<binary>". Fixture grows a >4KB longtext row (folded into C4 so the commit topology is untouched) and TestRowsResolvesLongText guards it.
Eugene Blikh <bigbes@gmail.com> — 2026-07-19 18:13:32 UTC
Commit 419fb13352c9b01cb51fefea00b2b9b86a4b2c5b —
view raw patch
Parent(s):
b7e8d134
| File | Status | + | − |
|---|---|---|---|
browse/browse_test.go
|
M | +24 | |
browse/fixture_test.go
|
M | +14 | -1 |
browse/tables.go
|
M | +59 | -4 |