-
Type:
Task
-
Resolution: Won't Do
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
None
-
None
-
None
-
None
-
None
-
None
-
None
The result document will be stored in MongoExtensionGetNextResult::result. Notably, this document will not contain metadata as fields. Instead, we extend MongoExtensionGetNextResult with two new fields, metadataReads and metadataWrites, that will provide the extension with input metadata (metadataReads) as well as a place to declare its output data (metadataWrites).
// Additions to MongoExtensionGetNextResult: struct MongoExtensionGetNextResult { /** * metadataReads: Optional BSON object for sending metadata from host->extension. * This is allocated by the host prior to calling to the transform extension's * getNext() and should include all metadata. Ownership stays with host. **/ MongoExtensionByteView metadataReads; /** * metadataWrites: Optional BSON object for sending metadata from extension->host. * All and only metadata values specified in get_provided_metadata_fields should be * present. Allocation and ownership belongs to the extension and should occur * during the extension's getNext(). **/ MongoExtensionByteView metadataWrites; };
This ticket should add these functions to the API, update the adapter/handle, and add unit tests where appropriate. There should be no host-side changes in this ticket
- is depended on by
-
SERVER-113905 Split the document BSON and metadata in HostExecAggStageAdapter
-
- Closed
-
-
SERVER-113906 Implement metadata parsing logic in ExtensionStage::doGetNext()
-
- Closed
-