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