Lotus.Preflight.Relations (Lotus v0.16.5)

Copy Markdown View Source

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.

Summary

Functions

Clears the stored relations from the process dictionary.

Retrieves the list of relations from the process dictionary.

Stores the list of relations in the process dictionary.

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

Functions

clear()

@spec clear() :: :ok

Clears the stored relations from the process dictionary.

get()

@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(relations)

@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()

@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.