# `Selecto.Advanced.CTE.Spec`

Specification for Common Table Expression definitions.

# `cte_type`

```elixir
@type cte_type() :: :normal | :recursive
```

# `t`

```elixir
@type t() :: %Selecto.Advanced.CTE.Spec{
  base_query: (-&gt; struct()) | nil,
  columns: [String.t()] | nil,
  dependencies: [String.t()],
  id: String.t(),
  name: String.t(),
  query_builder: (-&gt; struct()) | nil,
  recursive_query: (struct() -&gt; struct()) | nil,
  type: cte_type(),
  validated: boolean()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
