defmodule ExSQL.Ecto.Result do
@moduledoc false
defstruct command: nil, columns: [], rows: [], num_rows: 0
@type t :: %__MODULE__{
command: atom() | nil,
columns: [String.t()],
rows: [[term()]] | nil,
num_rows: non_neg_integer()
}
def from_exsql(%ExSQL.Result{} = result) do
%__MODULE__{
command: result.command,
columns: result.columns,
rows: rows(result),
num_rows: result.rows_affected
}
end
defp rows(%ExSQL.Result{columns: [], rows: []}), do: nil
defp rows(%ExSQL.Result{} = result), do: result.rows
end