-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Query Execution 2021-03-22, Query Execution 2021-04-05, Query Execution 2021-04-19
Generally, we make a distinction in the server between the "command"
(which executes the requested logic, and inherits from the base Command class)
and the "request" (a parsed version of the command object received from the
user). For instance, we have historically maintained classes named AggregationRequest, QueryRequest, CountRequest, etc, as distinct from the Command classes which execute the associated commands.
Recently, we moved the parsing of several such command requests into the IDL; however, the class names generated by the IDL omit the Request suffix. This leads to a situation where the names of the request and execution classes are confusingly similar, e.g. at present we have FindCommand, FindCmd and ClusterFindCmd classes all in the mongo namespace.
We should consistently name the IDL parser classes *CommandRequest to distinguish the request parsers from the execution machinery.