-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
Repl 2020-07-13, Repl 2020-07-27
Create an APIParameters class with methods getApiVersion, getApiStrict, and getApiDeprecationErrors. This class decorates OperationContext (see the top of read_concern_args.cpp for an example). The reason we need a separate class from APIParametersFromClient is because an IDL-generated class cannot decorate an operation context. In execCommandDatabase/runCommand, add something like:
APIParameters::get(opCtx) = APIParameters::fromClient(apiParamsFromClient);
... where apiParamsFromClient is the APIParametersFromClient instance.
This change may not be testable until we use the new class for something, e.g. checking if the currently executing command supports the client's requested API version.
- depends on
-
SERVER-48866 Parse Versioned API parameters
- Closed
- is depended on by
-
SERVER-49376 Ensure cursors inherit API settings of the initiating command
- Closed