Packages
tds
2.3.5
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.2
2.3.1
2.3.0
2.3.0-rc.1
2.3.0-rc.0
2.2.0
2.1.3
2.1.2
2.1.1
2.1.0
2.0.4
2.0.3
2.0.2
2.0.1
2.0.1-rc2
2.0.1-rc1
2.0.0
retired
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.0
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.0
0.3.0
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Microsoft SQL Server client (Elixir implementation of the MS TDS protocol)
Current section
Files
Jump to
Current section
Files
lib/tds/result.ex
defmodule Tds.Result do
@moduledoc """
Result struct returned from any successful query.
## Fields
* `columns`: The column names.
* `rows`: The result set as a list of tuples. Each tuple corresponds to a
row, while each element in the tuple corresponds to a column.
* `num_rows`: The number of fetched or affected rows.
"""
@typedoc "The result of a database query."
@type t :: %__MODULE__{
columns: nil | [String.t()],
rows: nil | [[any()]],
num_rows: integer
}
defstruct columns: nil, rows: nil, num_rows: 0
if Code.ensure_loaded?(Table.Reader) do
defimpl Table.Reader, for: Tds.Result do
def init(%{columns: columns}) when columns in [nil, []] do
{:rows, %{columns: [], count: 0}, []}
end
def init(result) do
{:rows, %{columns: result.columns, count: result.num_rows}, result.rows}
end
end
end
end