Ecto v2.0.2 Ecto.Adapter.Transaction behaviour

Specifies the adapter transactions API.

Summary

Callbacks

Returns true if the given process is inside a transaction

Rolls back the current transaction

Runs the given function inside a transaction

Callbacks

in_transaction?(repo)

Specs

in_transaction?(repo :: Ecto.Repo.t) :: boolean

Returns true if the given process is inside a transaction.

rollback(repo, value)

Specs

rollback(repo :: Ecto.Repo.t, value :: any) :: no_return

Rolls back the current transaction.

The transaction will return the value given as {:error, value}.

See Ecto.Repo.rollback/1.

transaction(repo, options, function)

Specs

transaction(repo :: Ecto.Repo.t, options :: Keyword.t, function :: (... -> any)) ::
  {:ok, any} |
  {:error, any}

Runs the given function inside a transaction.

Returns {:ok, value} if the transaction was successful where value is the value return by the function or {:error, value} if the transaction was rolled back where value is the value given to rollback/1.

See Ecto.Repo.transaction/1.