← All Releases
v0.2.22
SCOPE IS TRUTH
Column attribution goes scope-aware: pruning and pushdown now resolve per SELECT scope instead of one global alias map. Two UNION branches can read same-named tables on two different engines — unaliased — and each branch still prunes its columns and pushes its own filters. Plus a subtle correctness hardening the scope work surfaced: a table read twice in one model never gets one read's filter pushed into their shared extraction.
CHANGED
- ▸Branch-scoped attribution: the engine walks the query's scope tree, so a column belongs to the table its own SELECT reads — not to whatever a global alias map can prove. Unaliased, same-named tables across engines went from full-table SELECT * extractions to pruned, filtered ones with identical results.
- ▸The 'Limitations' docs page ships alongside: what degrades gracefully versus where the hard walls are — and this release is the demonstration of a limitation moving off that page.
FIXED
- ▸Multi-read safety: a relation read through two table references (one filtered, one not) shares a single extraction — pushing one read's filter would have starved the other. The engine now detects the shape and extracts once, unfiltered, correctly; columns still prune to the union of both reads.
Get it: pip install dvt-core==0.2.22 · wheels on PyPI for macOS (arm64 + x86_64) and Linux, Python 3.10–3.12.