lib/ex_sql/ast/values.ex
defmodule ExSQL.AST.Values do
@moduledoc """
A bare `VALUES (...), (...)` select. Output columns are named
`column1`..`columnN`, as in SQLite. Usable anywhere a SELECT is: as a
statement, a compound component, a subquery, or a FROM source.
"""
defstruct rows: [], order_by: [], limit: nil, offset: nil
@type t :: %__MODULE__{
rows: [[ExSQL.Parser.expr()]],
order_by: [{ExSQL.Parser.expr(), :asc | :desc}],
limit: ExSQL.Parser.expr() | nil,
offset: ExSQL.Parser.expr() | nil
}
end