To implement change filtering per #502, we need to separate "mapping" updates to persistent objects and "merging" updates into those objects. So let's add a new stage to the update pipeline - MAP_CHANGES sitting between APPLY_SERVER_PARAMS and MERGE_CHANGES. The existing merge code should be split into map and merge parts.
Upgrade Notes
Now that we have more precise data about operation types on update, Agrest now would return status 201 instead of 200 for bulk create operations (previously it would only return 201 for single-object create ops). Client code must be aware of this and act accordingly.
To implement change filtering per #502, we need to separate "mapping" updates to persistent objects and "merging" updates into those objects. So let's add a new stage to the update pipeline -
MAP_CHANGES
sitting betweenAPPLY_SERVER_PARAMS
andMERGE_CHANGES
. The existing merge code should be split into map and merge parts.Upgrade Notes
Now that we have more precise data about operation types on update, Agrest now would return status 201 instead of 200 for bulk create operations (previously it would only return 201 for single-object create ops). Client code must be aware of this and act accordingly.