[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":

{foo: 4}
{a: {$elemMatch: {foo: 4}}

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()


Generated at Thu Feb 08 04:40:36 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.