[SERVER-28759] Implement SetNode::apply() Created: 12/Apr/17  Updated: 12/Oct/17  Resolved: 01/May/17

Status: Closed
Project: Core Server
Component/s: Querying
Affects Version/s: None
Fix Version/s: 3.5.7

Type: Task Priority: Major - P3
Reporter: Tess Avitabile (Inactive) Assignee: Tess Avitabile (Inactive)
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-28621 Parse BSON update expression into an ... Closed
is depended on by SERVER-28761 Implement UpdateObjectNode::apply() Closed
is depended on by SERVER-28773 Create SetOnInsertNode Closed
Backwards Compatibility: Fully Compatible
Sprint: Query 2017-05-08
Participants:

 Description   

Add the following method to the interface UpdateLeafNode:

virtual Status apply(mutablebson::Element element, 
FieldRef* pathToCreate, 
FieldRef* pathTaken, 
StringData matchedField, 
bool fromReplication,
const UpdateIndexData* indexData,
LogBuilder* logBuilder, 
bool* indexesAffected, 
bool* noop) = 0;

Implement SetNode::apply(). This should set element with its stored value, creating pathToCreate as needed, and erroring if there is a blocking element and the update is not from replication (if there is a blocking element and the update is from replication, we can do nothing and return noop=true). It should fill out indexesAffected and noop, and record itself in logBuilder, if provided.



 Comments   
Comment by Githook User [ 01/May/17 ]

Author:

{u'username': u'tessavitabile', u'name': u'Tess Avitabile', u'email': u'tess.avitabile@mongodb.com'}

Message: SERVER-28759 Implement SetNode::apply()
Branch: master
https://github.com/mongodb/mongo/commit/314809d7cdda82d6c2741dbe2daf119270e5ad02

Generated at Thu Feb 08 04:18:59 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.