View Source Ecto.Adapter.Transaction behaviour (Ecto v3.12.5)

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.

Types

adapter_meta()

@type adapter_meta() :: Ecto.Adapter.adapter_meta()

Callbacks

in_transaction?(adapter_meta)

@callback in_transaction?(adapter_meta()) :: boolean()

Returns true if the given process is inside a transaction.

rollback(adapter_meta, value)

@callback rollback(adapter_meta(), 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(adapter_meta, options, function)

@callback transaction(adapter_meta(), 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 returned by the function or {:error, value} if the transaction was rolled back where value is the value given to rollback/1.