-
Type:
Improvement
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
Fully Compatible
-
None
-
None
-
None
-
None
-
None
-
None
-
None
DocumentSourceExtensionExpandable will be added as a derivation of DocumentSourceExtension. As part of the functionality of that class, extensions will be expanded into other stages and, thus, more DocumentSourceExtensions (or rather, objects that derive from DocumentSourceExtension).
To prevent having to split up the member variables of the parent DocumentSourceExtension object just to pass it to a child class of DocumentSourceExtension (which will in turn initialize a DocumentSourceExtension in its constructor), we should have an easy initializer struct that can be retrieved and sent to the objects we are constructing.
ex.
DocumentSourceExtensionExpandable derives from DocumentSourceExtension
DocumentSourceExtensionOptimizable derives from DocumentSourceExtension
DocumentSourceExtensionExpandable expand()
expanded nodes = expand the parse node
DocumentSourceExtensionOptimizable(raw_stage, id, descriptor, ..., expanded node)
vs.
DocumentSourceExtensionExpandable expand()
expanded nodes = expand the parse node
DocumentSourceExtensionOptimizable(getBaseInit(), expanded node)
- is depended on by
-
SERVER-111644 Implement DocumentSourceExtensionOptimizable for source and transform stages
-
- Closed
-