# `Trellis.SourceIndexGap`
[🔗](https://github.com/salesforce-misc/trellis/blob/v0.1.0-alpha/clients/elixir/lib/trellis/status.ex#L150)

A source index a `GROUP BY` or `JOIN` target needs and lacks, as
`Trellis.status/2` reports it: the qualified `table`, the `columns` the
index should lead with, the part of the definition that needs it (`role`:
`:group_by` for the `GROUP BY` columns, `:join_from` or `:join_joined` for
a `JOIN`'s `ON` columns on its from or joined side), whether the transform
opted out with `WITHOUT SOURCE INDEX` (`opted_out`), and a `create index`
statement to run (`fix`).
Trellis doesn't create indexes on your tables.

# `t`

```elixir
@type t() :: %Trellis.SourceIndexGap{
  columns: [String.t()],
  fix: String.t(),
  opted_out: boolean(),
  role: :group_by | :join_from | :join_joined,
  table: String.t()
}
```

---

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