basho/riak_dt — pull request #109 by balegas (2014-11-19 22:24:39+00:00)
Title: Delta data types

Added a simple delta od flag crdt.
The delta of enable operation creates a new "Flag" list with a dot and the current clock updated with that dot.
The disable operation removes any dot in the "Flag" field, (Clock,[]) > (Clock,Dots) as before.
Merge behaves just the same.
- Supports update and delta update operations.
- Does not accept context on update
- Didn't run dialyzer

- Alternatively we can build the same data-type without the clock in the delta, but adding tombstones on disable operations.
- Tombstones could be garbage collected during the merge
- Reduces the size of the deltas, when the number of dots in the "Flag" field is smaller than the total number of clients.