anchor.diff:              {error, {txn_commit, Error}}
       end.
   
  +
  +-spec txn_abort() -> ok | error().
  +
   txn_abort() ->
       <<Result:32/signed-native>> = erlang:port_control(get_port(), ?CMD_TXN_ABORT, <<>>),
       case decode_rc(Result) of
  
positive.code:         Error       -> throw(Error)
      end.
  
  update(Db, Key, Fun) ->
      update(Db, Key, Fun, undefined).
  
  update(Db, Key, Fun, Args) ->
      F = fun() ->
  
negative.code:         Reason ->
              {error, Reason}
      end.
  
  
  -spec delete_database(Filename :: nonempty_string()) ->
      ok | {error, error()}.
  
  delete_database(Filename) ->
      Cmd = <<(list_to_binary(Filename))/binary, 0:8>>,
  