Add plan-native scan execution - #9240
Conversation
Merging this PR will regress 1 benchmark
Warning Please fix the performance issues or acknowledge them on CodSpeed. Performance Changes
Tip Investigate this regression by commenting Comparing Footnotes
|
5ba752f to
3d73e5e
Compare
3d73e5e to
43bb342
Compare
43bb342 to
a8c35cb
Compare
fba0962 to
648d126
Compare
9260967 to
c7abf62
Compare
9024c43 to
ecff2cc
Compare
ecff2cc to
097520f
Compare
097520f to
eed3367
Compare
eed3367 to
33ce615
Compare
33ce615 to
06c1264
Compare
06c1264 to
190dd59
Compare
190dd59 to
b157ff9
Compare
b157ff9 to
811c5fa
Compare
811c5fa to
94e0577
Compare
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
94e0577 to
140410e
Compare
Summary
vortex-scan-v2crate copied from the existing scan orchestration and backed only by physical plansBoundExpressionplan nodesExpressionRowIdxRulefrom Add plan optimizer rules and push expressions #9196's zero-partition reduction to row-index-only, child-values-only, and mixed row-index/data expressionsapply_boundPack, so an empty projection still schedules the correct scan rangeLayoutReaderscanBoundary of the COUNT(*) fix
The optimizer-side zero-reference reduction is in #9196. This execution PR owns the childless-
Packsplit behavior and a directchildless_pack_preserves_its_row_countregression. The later pruning PR #9244 contains the end-to-end assertion that all rows are returned without any struct-field segment reads.Current scope
Validation
cargo test -p vortex-layout -p vortex-scan-v2— 233 layout tests and 4 scan-v2 tests passedcargo +nightly fmt --all -- --checkcargo clippy --all-targets --all-features -- -D warningsgit diff --checkStacked on #9187.