[SERVER-46508] Use IDL to represent DeleteRequest Created: 28/Feb/20  Updated: 29/Oct/23  Resolved: 18/Mar/20

Status: Closed
Project: Core Server
Component/s: Aggregation Framework, Internal Code
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Task Priority: Major - P3
Reporter: Charlie Swanson Assignee: Isabel Atkinson
Resolution: Fixed Votes: 0
Labels: qopt-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-46709 Support 'let' variables in the delete... Closed
Issue split
split to SERVER-46774 Use IDL to represent QueryRequest Backlog
split to SERVER-46775 Use IDL to represent AggregationRequest Backlog
split to SERVER-46772 Use IDL to represent UpdateRequest Closed
split to SERVER-46776 Use IDL to represent FindAndModifyReq... Closed
Backwards Compatibility: Fully Compatible
Sprint: Query 2020-03-09, Query 2020-03-23
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 18/Mar/20 ]

Author:

{'email': 'isabel.atkinson@10gen.com', 'name': 'Isabel Atkinson', 'username': 'isabelatkinson'}

Message: SERVER-46508 Use IDL to represent DeleteRequest
Branch: master
https://github.com/mongodb/mongo/commit/466a5a5055b401024ed80021f52669b801aab2d4

Generated at Thu Feb 08 05:11:41 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.