-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
None
-
None
-
None
-
None
-
None
-
None
-
None
As outlined in the technical design, we will need to introduce an explicit desugaring step that will be called from the aggregation execution path immediately after query stats registration.
This requires that we implement specializations of DocumentSourceExtension, which each have distinct behaviour during expansion As part of this ticket, implement DocumentSourceExtensionExpandable with an expand function. This function should call expand on the parse node and loop through the output following this logic:
if AstNode: create a DocumentSourceExtensionOptimizable, passing through the AstNode and adding the output to the result list else if ParseNode: if the parse node is a host parse node, createFromBson and add to the result list otherwise create another DocumentSourceExtensionExpandable from the ParseNode and add its expand() to the end of the list (recursive expansion)
- depends on
-
SERVER-111644 Implement DocumentSourceExtensionOptimizable for source and transform stages
-
- Closed
-
- is depended on by
-
SERVER-107218 Add support for non-SimpleParser extension parser registration
-
- Closed
-
-
SERVER-110180 Support recursive desugaring (full parse)
-
- Closed
-
-
SERVER-112567 Create a shared expansion implementation between full parse and lite parse
-
- Needs Scheduling
-