[SERVER-55492] Implement renames for kOther and kArrayMatching MatchExpressions Created: 24/Mar/21 Updated: 23/Feb/23 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Query Parsing |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Alya Berciu | Assignee: | Backlog - Query Optimization |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Assigned Teams: |
Query Optimization
|
||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Description |
|
This came up in https://jira.mongodb.org/browse/SERVER-39938 as part of the code review discussion. In order to check if MatchExpressions categorised as kOther and kArrayMatching can be swapped with other stages because they are independent, we first need to be able to handle renames for these expressions. (See applyRenamesToExpression() in src/mongo/db/matcher/expression_algo.cpp) Note: There are a number of descriptive tests in src/mongo/db/pipeline/pipeline_test.cpp that will likely have to be updated to test for swapping behaviour once renames are implemented and isIndependentOf can be applied to these expression types. |