[SERVER-85710] Make stage builder's buildUnwind compatible with block processing Created: 25/Jan/24 Updated: 02/Feb/24 |
|
| Status: | In Progress |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Alberto Massari | Assignee: | Foteini Alvanaki |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Execution
|
| Sprint: | QE 2024-02-05, QE 2024-02-19 |
| Participants: |
| Description |
|
The idea is to have a $match that can be vectorized, followed by a $addFields that creates an array using scalar processing, followed by an $unwind that works on that scalar array, followed by another stage that can be vectorized (a $match that compares a block variables with the scalar value generated by the $addFields). The purpose of the change would be to let the $unwind propagate the "can produce vectorized" flag down to the child stage, then create the scalar operation and don't insert the final block_to_row |