Skip to main content

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