defmodule Ch.Result do
@moduledoc """
Result struct returned from any successful query. Its fields are:
* `command` - An atom of the query command, for example: `:select`, `:insert`;
* `rows` - The result set. One of:
- a list of lists, each inner list corresponding to a
row, each element in the inner list corresponds to a column;
- raw iodata when the response is not automatically decoded, e.g. `x-clickhouse-format: CSV`
* `num_rows` - The number of fetched or affected rows;
* `headers` - The HTTP response headers
"""
defstruct [:command, :num_rows, :rows, :headers]
@type t :: %__MODULE__{
command: atom,
num_rows: non_neg_integer | nil,
rows: [[term]] | iodata | nil,
headers: Mint.Types.headers()
}
end