[SERVER-68516] [CQF] Always translate projections to ABT using ProjectionExecutor Created: 02/Aug/22 Updated: 29/Oct/23 Resolved: 18/Nov/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 6.3.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Emily Wang (Inactive) | Assignee: | Ben Shteinfeld |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Sprint: | QO 2022-10-03, QE 2022-10-17 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
This ticket was originally intended to change all the projection translation code to use the ProjectionAST. However, while implementing that, we discovered that ProjectionAST has no way to represent $addFields and $replaceRoot projections, which already had test-only support in CQF via the ProjectionExecutor codepath. While ideally we use parse trees as input to ABT translation instead of runtime data structures, in this case we chose to be more pragmatic and exercise more of the optimizer's code sooner. In the future, the current ABT translation will be replaced with a proper BSON > CST {} > ABT translation; hence, we don't get much value out of moving to the ProjectionAST right now. As a result, we chose to repurpose this ticket to undo the changes in |
| Comments |
| Comment by Githook User [ 18/Nov/22 ] |
|
Author: {'name': 'Ben Shteinfeld', 'email': 'ben.shteinfeld@mongodb.com', 'username': 'bshteinfeld'}Message: In Note this patch is not a clean revert of
|
| Comment by Emily Wang (Inactive) [ 19/Aug/22 ] |
|
Work done so far is Expression projections are implemented (including $slice and computedPaths), and $replaceRoot is implemented. $addFields is a work-in-progress (and also more complicated) |
| Comment by Emily Wang (Inactive) [ 17/Aug/22 ] |
|
david.storch@mongodb.com I think this ticket was named badly – originally these features already existed and had corresponding tests, but because work in |
| Comment by David Storch [ 16/Aug/22 ] |
|
emily.wang@mongodb.com nicholas.zolnierz@mongodb.com this should probably not be housed in the ABT project, right? I'm assuming that we won't do this work just yet since it pertains to CQF milestone 3. |