[SERVER-35673] MatchExpression tree should keep track of the full path to each leaf node Created: 19/Jun/18 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Internal Code, Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Backlog - Query Optimization |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | former-quick-wins, storch | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Assigned Teams: |
Query Optimization
|
| Participants: |
| Description |
|
Right now a leaf node will have the "local" path, but not the full context. For example, in both of the following queries there will be an equality node with the path "foo":
In the second query, the full path for that equality is really "a.foo". As a result, a lot of planning logic has to manually keep track of the full path to accomodate this. For example this logic in QueryPlannerIXSelect::getFields() |