Given an add update command, compute a list of fields that can be updated in-place. If there is even a single
field in the update that cannot be updated in-place, the entire update cannot be executed in-place (and empty set
will be returned in that case).
Return a set of fields that can be in-place updated.
Given an AddUpdateCommand containing update operations (e.g. set, inc), merge and resolve the operations into
a partial document that can be used for indexing the in-place updates. The AddUpdateCommand is modified to contain
the partial document (instead of the original document which contained the update operations) and also
the prevVersion that this in-place update depends on.
Note: updatedFields passed into the method can be changed, i.e. the version field can be added to the set.
If in-place update cannot succeed, e.g. if the old document is deleted recently, then false is returned. A false
return indicates that this update can be re-tried as a full atomic update. Returns true if the in-place update