anchor.diff:  %%    state: state of the transaction
   %%----------------------------------------------------------------------
   -record(state, {
  -          from :: {pid(), term()},
  -          transaction :: tx(),
  -          updated_partitions :: preflist(),
  -          num_to_ack :: non_neg_integer(),
  -          prepare_time :: non_neg_integer(),
  -          commit_time :: non_neg_integer(),
  -          state :: active | prepared | committing | committed | undefined | aborted}).
  +        from :: {pid(), term()},
  +        transaction :: tx(),
  +        updated_partitions :: preflist(),
  +        num_to_ack :: non_neg_integer(),
  +        prepare_time :: non_neg_integer(),
  +        commit_time :: non_neg_integer(),
  +        state :: active | prepared | committing | committed | undefined | aborted}).
   
   %%%===================================================================
   %%% API
  
positive.code:                     {reply, {ok, ReadResult}, execute_op, SD0}
              end;
          update ->
              {Key, Type, Param}=Args,
              Preflist = log_utilities:get_preflist_from_key(Key),
              IndexNode = hd(Preflist),
              case clocksi_downstream:generate_downstream_op(Transaction, IndexNode, Key, Type, Param) of
                  {ok, DownstreamRecord} ->
                      case clocksi_vnode:update_data_item(IndexNode, Transaction,
                                                  Key, Type, DownstreamRecord) of
                          ok ->
                              case lists:member(IndexNode, Updated_partitions) of
                                  false ->
                                      New_updated_partitions=
                                          [IndexNode | Updated_partitions],
                                      {reply, ok, execute_op,
                                      SD0#state
                                      {updated_partitions= New_updated_partitions}};
                                  true->
                                      {reply, ok, execute_op, SD0}
                              end;
  
negative.code: -export([start_link/2, start_link/1]).
  
  %% Callbacks
  -export([init/1,
           code_change/4,
           handle_event/3,
           handle_info/3,
           handle_sync_event/4,
           terminate/3]).
  
  %% States
  -export([execute_op/3,
           finish_op/3,
           prepare/2,
           receive_prepared/2,
           committing/3,
           receive_committed/2,
           abort/2,
           reply_to_client/2]).
  
  %%---------------------------------------------------------------------
  