anchor.diff:              {error, {get, decode_rc(Error)}}
       end.
   
  +-spec get_r(Db :: db(), Key :: db_key()) ->
  +    {ok, db_ret_value()} | {error, error()}.
  +
   get_r(Db, Key) ->
       get_r(Db, Key, []).
  +
  +
  +-spec get_r(Db :: db(), Key :: db_key(), Opts :: db_flags()) ->
  +    {ok, db_ret_value()} | {error, error()}.
   
   get_r(Db, Key, Opts) ->
       case get(Db, Key, Opts) of
  
positive.code:             {error, {txn_abort, Error}}
      end.
  
  transaction(Fun) ->
      transaction(Fun, infinity).
  
  transaction(_Fun, 0) ->
      txn_abort(),
  
negative.code:         _ ->
              {error, Result}
      end.
  
  
  -spec get_txn_timeout() -> {ok, timeout()} | {error, error()}.
  
  get_txn_timeout() ->
      Cmd = <<?SYSP_TXN_TIMEOUT_GET:32/signed-native>>,
  