diplomat v0.11.2 Diplomat.Transaction

Transaction.begin
|> Transaction.save(entity)
|> Transaction.save(entity2)
|> Transaction.commit

OR

Transaction.begin fn t ->
  # auto-begin
  t
  |> Transaction.save(entity)
  |> Transaction.save(entity2)
  # auto-commits on exit
end

Link to this section Summary

Link to this section Types

Link to this type

t()
t() :: %Diplomat.Transaction{
  id: integer(),
  mutations: [Diplomat.Entity.mutation()],
  state: :init | :begun
}

Link to this section Functions

Link to this function

begin(block)
begin((() -> t())) ::
  {:ok, Diplomat.Proto.CommitResponse.t()}
  | Diplomat.Client.error()
  | {:error, any()}

Link to this function

commit(transaction)
commit(t()) ::
  {:ok, Diplomat.Proto.CommitResponse.t()} | Diplomat.Client.error()

Link to this function

delete(t, k)
delete(t(), Diplomat.Key.t() | [Diplomat.Key.t()]) :: t()

Link to this function

from_begin_response(begin_transaction_response)
from_begin_response(Diplomat.Proto.BeginTransactionResponse.t()) :: t()

Link to this function

insert(t, e)
insert(t(), Diplomat.Entity.t() | [Diplomat.Entity.t()]) :: t()

Link to this function

rollback(t)
rollback(t()) ::
  {:ok, Diplomat.Proto.RollbackResponse.t()} | Diplomat.Client.error()

Link to this function

to_commit_proto(transaction)
to_commit_proto(t()) :: Diplomat.Proto.CommitRequest.t()

Link to this function

update(t, e)
update(t(), Diplomat.Entity.t() | [Diplomat.Entity.t()]) :: t()

Link to this function

upsert(t, e)
upsert(t(), Diplomat.Entity.t() | [Diplomat.Entity.t()]) :: t()