Deltas are data structures that describe relative change. Deltas describe how a thing should be modified. It does rely on how the thing looked before the change or how it will look after the change. Delta describes only what was changed.
There are several types of deltas. The basic difference is about the thing is changing:
- Object Delta describes a change of an object. It means that object delta identifies the changed object by OID. Object delta tells about:
- ADD of a new object. Application of such delta simply results in creation of a new object. This delta contains a complete new object to be added.
- MODIFICATION of an existing object. Application of this delta modifies object that already exists. This is the most complex delta because it can describe the change in very fine details. It contains modifications in a form of item deltas (see below).
- DELETE of existing object. Application of this delta deletes existing object - with all this properties and containers and references. This delta does not contain almost anything. It just has the OID of the object to delete.
- Item Delta describes a change of an item which is a property, container or a reference. It describes only a very small change - a change of a single item. Therefore complex changes can only be described by using several item deltas together. A group of item deltas is called modifications because they describe how an object is modified (they cannot apply to add or delete object delta). Item delta describes values that are being added, removed or replaced with respect to an item. Therefore the item delta may also be of several types:
- add of new values. The values in item delta are added to the existing values. Existing values are left as they are.
- delete of existing values. The values in item delta are removed from the set of existing values. Other existing values are left as they are.
- replace of the values. All existing values are removed and all the values in item delta are added.
Object ADD Delta
Object MODIFY Delta
Object DELETE Delta