-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
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
- depends on
-
SERVER-109777 Modify MongoExtensionAggregationStageDescriptor::parse() so that it generates a MongoExtensionAggregationStageParseNode.
-
- Closed
-
-
SERVER-109778 Introduce host::HostParseNode to the API
-
- Closed
-
-
SERVER-112176 Add get_name to MongoExtensionAggregationStageParseNode/AstNode
-
- Closed
-
- is depended on by
-
SERVER-109558 Enforce constraints for LiteParsed desugar stages
-
- Closed
-
-
SERVER-111736 Implement end-to-end jstests for query shape serialization.
-
- Closed
-
- is duplicated by
-
SERVER-109567 Support recursive desugaring (LiteParsed)
-
- Closed
-
- related to
-
SERVER-110394 Add support for LiteParsedDesugar::parse() with special parser type
-
- Closed
-
-
SERVER-112451 Move logging to bind() function
-
- Needs Scheduling
-