lib/ex_sql/ecto/error.ex
defmodule ExSQL.Ecto.Error do
@moduledoc false
defexception [:message, :statement]
@type t :: %__MODULE__{
message: String.t(),
statement: String.t() | nil
}
def from_exsql(%ExSQL.Error{} = error, statement) do
%__MODULE__{message: error.message, statement: statement}
end
@impl true
def message(%__MODULE__{message: message, statement: nil}), do: message
def message(%__MODULE__{message: message, statement: statement}) do
"#{message}\n#{statement}"
end
end