anchor.diff:      %% check all combinations of abort / prepared and the corresponding
       %% tx decisions
       %% modify DB and then do operations on the changed DB
  -    [abort_prepared(0, write, [MC1, MC2, MC3, MC4],
  -                    calc_w_outcome([MC1, MC2, MC3, MC4]))
  +    [ begin
  +          Key = init_new_db_key("abort_prepared_w"),
  +          abort_prepared(Key, write, [MC1, MC2, MC3, MC4],
  +                         calc_w_outcome([MC1, MC2, MC3, MC4]))
  +      end
         || MC1 <- causes(), MC2 <- causes(),
            MC3 <- causes(), MC4 <- causes()],
       ok.
  
positive.code: 
      Outcome =
          case Op of
              write -> ?CS_API:write(0,
                                       io_lib:format("~p with ~p", [Op, PreOps]));
              read ->
                  case ?CS_API:read(0) of
                      {fail, Reason} -> {fail, Reason};
                      _ -> ok
                  end;
              read_commit ->
                  case ?CS_API:process_request_list(?CS_API:new_tlog(),
                                                    [{read, 0}, {commit}]) of
                      %% cs_api
                      {_TLog, {results, [_, {commit, fail, {fail, abort}}]}} -> {fail, abort};
                      {_TLog, {results, [_, {commit, ok, _}]}} -> ok;
  
negative.code:      %% modify DB after work_phase, before validation
       %% read - modify - commit (rmc)
       [begin
            Key = init_new_db_key("abort_prepared_rmc"),
            {TLog, _} =
                ?CS_API:process_request_list(?CS_API:new_tlog(),
                                             [{read, Key}]),
            abort_prepared(Key, {commit_tlog, TLog}, [MC1, MC2, MC3, MC4],
                           calc_rmc_outcome([MC1, MC2, MC3, MC4]))
        end
        || MC1 <- causes(), MC2 <- causes(),
  