Implement DocumentSourceExtension::LiteParsedExpandable & DocumentSourceExtension::LiteParsedExpanded

XMLWordPrintableJSON

    • Query Integration
    • Fully Compatible
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      As part of the LiteParsedPipeline expansion for desugar stages, we must implement new specializations of LiteParsedDocumentSource:
      https://docs.google.com/document/d/1mEAk6lF4zMJbIFTxVaBKWsq2JLcKwOBQdzClqaLtO8U/edit?tab=t.cmh028a5t5iy#bookmark=kix.odhqha3zsmvr 

      As part of this ticket, implement DocumentSourceExtension::LiteParsedExpandable & DocumentSourceExtension::LiteParsedExpanded.

      At instantiation time, DocumentSourceExtension::LiteParsedExpandable should recursively generate its expanded pipeline and keep it as a private/protected member. 

      At expansion time:
      1. If the extension returns a host: : ParseNode, parse it into a LiteParsedDocumentSource.

      2. If the extension returns an extension ParseNode, instantiate a DocumentSourceExtension::LiteParsedExpandable and continue recursively expanding

       

      3. If the extension returns an extension AstNode, instantiate a DocumentSourceExtension::LiteParseExpanded. 

      For this ticket, do not implement depth validation, it will be tackled instead in SERVER-109558

            Assignee:
            Lynne Wang
            Reporter:
            Santiago Roche
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: