Implement MERGE command handler
MERGE command allows merging new item into an existing one based on GID and/or RID match. If no such item exists a new one is created. If it exists, the new item is merged into the existing one, overwriting conflicting flags, and parts. Merging is restricted to parent collection and mime type, to minimize potential RID/GID conflicts, since they are not guaranteed to be unique. Syntax of MERGE command is equivalent to syntax of X-AKAPPEND command, except for the command ("MERGE") is followed by parenthesized list of attributes to merge by (currently supported values are "REMOTEID" and "GID"). Implementation-wise, Merge handler is a subclass of AkAppend handler, which allows reusing all the existing code for insertion of a new item (in case no candidate for merging is found) and only implements merging.
parent
fccfd1a4
Please register or sign in to comment