Modify host::AstNode to wrap a LiteParsedDocumentSourceIdLookup

XMLWordPrintableJSON

    • 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.

            Assignee:
            Unassigned
            Reporter:
            Santiago Roche
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: