-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Aggregation Framework, Internal Code
-
Fully Compatible
-
Query 2020-03-09, Query 2020-03-23
Convert the struct-like class to be represented by the IDL.
Original Description:
There is a case to be made that the various getFoo/setFoo functions should be obviated and replaced by public member variables in classes like QueryRequest, FindAndModifyRequest, etc. We opened a debate in SERVER-46115 but do not want to hold up progress to settle this debate, so we will do that in this ticket. Some options:
1) Accept a mix of getters/setters and public members
2) Fall back to getters/setters
3) Replace getters/setters with public members
4) Replace these classes with IDL types
The full list of struct-like classes to be considered is: QueryRequest, FindAndModifyRequest, DeleteRequest, UpdateRequest, AggregationRequest.
Notably, GetMoreRequest has public members.
As a first step, I think we should attempt to convert to the IDL and delete a lot of the parsing code. We can look towards src/mongo/db/ops/write_ops.idl as a good example.
- is depended on by
-
SERVER-46709 Support 'let' variables in the delete command
- Closed
- split to
-
SERVER-46774 Use IDL to represent QueryRequest
- Backlog
-
SERVER-46775 Use IDL to represent AggregationRequest
- Backlog
-
SERVER-46772 Use IDL to represent UpdateRequest
- Closed
-
SERVER-46776 Use IDL to represent FindAndModifyRequest
- Closed