-
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
In order for Desugar stages to be able to participate in query shape generation with the pre-desugaring query shape, we need to provide a new abstraction from which to generate the shape (i.e serialize) before we explicitly desugar.
Introduce MongoExtensionAggregationStageParseNode to the public API. The vtable it should support is specified in the table below. Note, do not implement get_query_shape. This will be implemented in a different project.
MongoExtensionAggregationStageParseNode vtable | |||
Function Name | Return Type | Parameters | Description |
destroy | Destroys object and frees related resources. | ||
get_query_shape |
|
|
|
---|---|---|---|
expand | MongoExtensionStatus* |
|
As part of this ticket, implement an SDK adapter, a Host adapter and provide unit tests.
This ticket will not include adding parsing logic to generate the ParseNode - that work will be deferred to SERVER-109777 instead.
Please note, https://github.com/mongodb/mongo/commit/8ea157369540ecf2af757fe31a2194d74851fa13 already introduced expand() to the extensions API, under the static descriptor. As part of this ticket, migrate the functionality from the static descriptor to the ParseNode vtable, and update all existing tests.
- depends on
-
SERVER-110382 Introduce Desugar stages to extensions API using static descriptor
-
- Closed
-
- is depended on by
-
SERVER-109777 Modify MongoExtensionAggregationStageDescriptor::parse() so that it generates a MongoExtensionAggregationStageParseNode.
-
- In Code Review
-
-
SERVER-109778 Introduce host::HostParseNode to the API
-
- In Code Review
-
-
SERVER-111138 Implement ExpandedArray in the extensions API
-
- Closed
-