this repo has no description
1defmodule Hobbes.BeginError do
2 @moduledoc """
3 Raised when a transaction fails to get a read version.
4 """
5 defexception [:message, :error]
6
7 @impl true
8 def exception([error: {:error, err}]) do
9 %__MODULE__{message: "begin failed with error: #{inspect(err)}", error: err}
10 end
11end
12
13defmodule Hobbes.CommitError do
14 @moduledoc """
15 Raised when a transaction fails to commit.
16 """
17 defexception [:message, :error, :read_version, :commit_version, :batch_index]
18
19 @impl true
20 def exception([error: {:error, err}, read_version: read_version, commit_version: commit_version, batch_index: batch_index]) do
21 %__MODULE__{message: "commit failed with error: #{inspect(err)}", error: err, read_version: read_version, commit_version: commit_version, batch_index: batch_index}
22 end
23end
24
25defmodule Hobbes.ReadError do
26 @moduledoc """
27 Raised when a read fails.
28 """
29 defexception [:message, :error]
30
31 @impl true
32 def exception([error: {:error, err}]) do
33 %__MODULE__{message: "read failed with error: #{inspect(err)}", error: err}
34 end
35end
36
37defmodule Hobbes.NoTransactionError do
38 defexception [:message]
39
40 @impl true
41 def exception([]) do
42 %__MODULE__{message: "reads and writes can only be performed within a transaction"}
43 end
44end