|
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.
|