[SERVER-59628] Reorganize lite parsing to include constraints information Created: 26/Aug/21 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Ruslan Abdulkhalikov (Inactive) | Assignee: | Backlog - Query Optimization |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | quick-tech-debt | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Optimization
|
| Participants: |
| Description |
|
At this moment mongo parses MQL query twice: using lite parser and "heavy" one (::createFromBSON). Those a two distinct stages with almost no shared information. This leads to complexity (duplication of the code). Lite parsing lacks certain information to make informed decisions. In this particular case, it is necessary for lite parsing to have access to sources constraints in order to reject or accept an embedded pipeline on $lookup stage. The current check is based on the name of the first stage in the pipeline which is unnecessarily specific. |
| Comments |
| Comment by Githook User [ 27/Aug/21 ] |
|
Author: {'name': 'Ruslan Abdulkhalikov', 'email': 'ruslan.abdulkhalikov@mongodb.com', 'username': 'rusabd1'}Message:
|