[SERVER-37824] Add full path to implicitly traversed field in MatchDetails Created: 30/Oct/18 Updated: 19/Nov/18 Resolved: 19/Nov/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Justin Seyster | Assignee: | Jacob Evans |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Sprint: | Query 2018-11-19, Query 2018-12-03 |
| Participants: |
| Description |
|
From the scope document: In cases where we traverse an array en route to a field referenced by the match expression, the path to that field should also (optionally) be returned. The PoC for this provides the path to the first field after the traversal (the "elem match key"), although we may want to prefer an approach that provides the path all the way to the matching element. For reference the PoC branch (available here on GitHub) includes a rough implementation of this functionality. The relevant changes are in match_details.cpp, match_details.h, matcher/path.cpp, matcher/path.h, and expression_path.h Optionally, we could augment FieldRef as part of this work so that it specifically distinguishes array index path components regular fields. |
| Comments |
| Comment by Jacob Evans [ 19/Nov/18 ] |
|
After discussion we've concluded that this won't be needed since it isn't expected to be used by Stitch. |