-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In order to restrict the usage of $_internalSearchIdLookup, we will only allow extensions to desugar into an $idlookup if they generate an AstNode directly from the Host which can be later parsed into a DocumentSource.
As part of this ticket, modify host::AggreationStageAstNode such that it wraps a unique_ptr<LiteParsedDocumentSourceIdLookup>. Note, host::AggreationStageAstNode could instead wrap a unique_ptr<LiteParsedDocumentSource>. If we choose to keep a LiteParsedDocumentSourceIdLookup directly, it makes the current code simpler, but we may need to adapt it in the future if we want to support generating more AstNode types by the Host.
Update getIdLookupSpec so that it obtains the bson spec from the LiteParsedDocumentSource member instead of the old BsonObj member.
- depends on
-
SERVER-111336 Implement Host::AggregationStageAstNode
-
- Backlog
-
-
SERVER-111465 Implement LiteParsedDocumentSourceInternalSearchIdLookup
-
- Backlog
-
- is depended on by
-
SERVER-111342 Implement create_id_lookup in the Extensions API
-
- Backlog
-