# `Lotus.Preflight.Relations`
[🔗](https://github.com/typhoonworks/lotus/blob/v0.16.6/lib/lotus/preflight/relations.ex#L1)

Manages preflight relations stored in the process dictionary.

This module provides a clean interface for storing and retrieving
relations discovered during SQL preflight authorization, which are
later used for column-level visibility policies.

# `clear`

```elixir
@spec clear() :: :ok
```

Clears the stored relations from the process dictionary.

# `get`

```elixir
@spec get() :: [{String.t(), String.t()}]
```

Retrieves the list of relations from the process dictionary.

Returns an empty list if no relations have been stored.

# `put`

```elixir
@spec put([{String.t(), String.t()}]) :: :ok
```

Stores the list of relations in the process dictionary.

These relations are discovered during preflight authorization
and will be used later for column visibility checks.

# `take`

```elixir
@spec take() :: [{String.t(), String.t()}]
```

Retrieves and clears the list of relations from the process dictionary.

This is typically called after the relations have been consumed
to ensure they don't leak to subsequent operations.

---

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