defmodule ExSQL.AST.Delete do @moduledoc "A `DELETE FROM ... [WHERE ...]` statement." defstruct table: nil, schema: nil, target_qualified: false, index_hint: nil, where: nil, returning: [], order_by: [], limit: nil, offset: nil @type t :: %__MODULE__{ table: String.t(), schema: String.t() | nil, target_qualified: boolean(), index_hint: nil | {:indexed_by, String.t()} | :not_indexed, where: ExSQL.Parser.expr() | nil, returning: list(), order_by: list(), limit: ExSQL.Parser.expr() | nil, offset: ExSQL.Parser.expr() | nil } end