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.
- depends on
-
SERVER-28621 Parse BSON update expression into an UpdateNode tree
- Closed
- is depended on by
-
SERVER-28761 Implement UpdateObjectNode::apply()
- Closed
-
SERVER-28773 Create SetOnInsertNode
- Closed