# `Tempo.SQL.UnsupportedValueError`
[🔗](https://github.com/elixir-tempo/tempo_sql/blob/v0.4.0/lib/tempo/sql/unsupported_value_error.ex#L1)

Returned when a Tempo expression cannot be stored in a PostgreSQL
range type, its `:reason` saying why.

See the storage contract guide for the full list of cases. The
reasons are `:qualification` (an uncertain or approximate value),
`:non_gregorian_calendar`, `:multi_valued_slot` (several spans where
a range holds one), `:partial_resolution` (a value with no year),
`:fully_unbounded` (`../..`), `:open_ended_member` (a recurrence
with no end, where a multirange needs a last span),
`:unsupported_endpoint` (a range bound, or a stretch, with no place
on the time line) and `:frame` (a floating value for a column on the
UTC line, or a value in a zone or at a time shift for a floating
column).

# `t`

```elixir
@type t() :: %Tempo.SQL.UnsupportedValueError{
  __exception__: term(),
  message: String.t(),
  reason: atom(),
  value: term()
}
```

---

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