Files
lancedb/rust
Wyatt Alt 6efa448434 test: differential refresh harness for materialized views
Example tests pin behaviors; the refresh contract is a property: after any
sequence of source mutations, a view maintained by default refreshes equals
the definition evaluated against the source directly, and so does a forced
rebuild. This drives every mutation sequence up to length three -- appends,
deletes, updates crossing the filter, compactions, unrelated column adds --
over an identity and a filtered view shape, checking against an oracle that
shares nothing with the refresh path: a plain column scan with the filter
applied in Rust. The oracle runs after every step because a later
rebuild-forcing mutation silently heals an incremental error; end-state
checks miss exactly the transient bugs that matter. A length-four sweep
(1,560 cases) runs behind ignore.

Named regressions additionally assert the refresh mode, which value
comparison cannot: a wrongly rebuilding classifier still matches the
oracle, so the append, unrelated-column and compaction cases pin that the
incremental path actually ran.
2026-08-18 08:03:33 -07:00
..