defmodule ExSQL.AST.Update do @moduledoc "An `UPDATE [OR ...] ... SET ... [WHERE ...]` statement." defstruct table: nil, schema: nil, target_qualified: false, index_hint: nil, assignments: [], from: nil, where: nil, or_conflict: 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, assignments: [{String.t(), ExSQL.Parser.expr()}], from: term() | nil, where: ExSQL.Parser.expr() | nil, or_conflict: nil | :replace | :ignore | :abort | :fail | :rollback, returning: list(), order_by: list(), limit: ExSQL.Parser.expr() | nil, offset: ExSQL.Parser.expr() | nil } end