defmodule ExSQL.Result do @moduledoc """ The result of executing one statement. For `SELECT`, `columns` holds the output column names and `rows` the result rows as value lists. For DML, `rows_affected` reports the count of inserted/updated/deleted rows. """ defstruct command: nil, columns: [], rows: [], rows_affected: 0, affinities: [] @type t :: %__MODULE__{ command: atom(), columns: [String.t()], rows: [[ExSQL.Value.t()]], rows_affected: non_neg_integer(), affinities: [ExSQL.AST.ColumnDef.affinity()] } end