-
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
- required to perform ParseNode::expand()
- depends on ParseNode and AstNode
struct ExpansionContainer { struct ExpansionContainerVTable* const vtable; }; struct ExpansionContainerVTable { void (*destroy)(); // destroy all elements remaining bool (*empty)(); // must be no except size_t (*size)(); // must be no except // Do we want to be able to get specific element types? MongoExtensionStatus* (*getElementType)(size_t index, TypeEnum** type); // OR do we restrict our usage to just the next element MongoExtensionStatus* (*getFrontType)(TypeEnum** type); MongoExtensionStatus* popFrontAsParseNode(ParseNode** parseNode); MongoExtensionStatus* popFrontAsASTNode(ASTNode** astNode); }
- depends on
-
SERVER-109776 Introduce MongoExtensionAggregationStageParseNode to the extensions API
-
- Closed
-
-
SERVER-111137 Implement MongoExtensionAggregationStageAstNode
-
- Closed
-
- is depended on by
-
SERVER-109564 Modify ParseNode::expand() to return ExtensionContainer instead of a serialized pipeline
-
- Backlog
-
- related to
-
SERVER-111787 Reorganize extension public header
-
- Needs Scheduling
-