anchor.diff:  priv_clear_leases() ->
       {atomic, Result} = mnesia:clear_table(lease),
       Result.
  +
  +priv_write_row(User, Repo, Path) ->
  +    mnesia:write(#lease{s_path = {Repo, Path},
  +                        u_id = User,
  +                        time = erlang:system_time(milli_seconds)}).
  
positive.code: 
  priv_new_lease(User, Repo, Path, State) ->
      #state{max_lease_time = MaxLeaseTime} = State,
      T = fun() ->
                  CurrentTime = erlang:system_time(milli_seconds),
                  case mnesia:read(lease, {Repo, Path}) of
                      [#lease{time = Time} | _] when (MaxLeaseTime - (CurrentTime - Time)) > 0 ->
                          {busy, MaxLeaseTime - (CurrentTime - Time)};
                      _ ->
                          mnesia:write(#lease{s_path = {Repo, Path},
                                              u_id = User,
                                              time = erlang:system_time(milli_seconds)})
                  end
          end,
      {atomic, Result} = mnesia:transaction(T),
  
negative.code: 
  -compile([{parse_transform, lager_transform}]).
  
  -include_lib("stdlib/include/ms_transform.hrl").
  
  -behaviour(gen_server).
  
  %% API
  