Lotus.Runner (Lotus v0.13.1)

Copy Markdown View Source

Read-only SQL execution with safety checks, param binding, and result shaping.

Summary

Types

opts()

@type opts() :: [
  timeout: non_neg_integer(),
  statement_timeout_ms: non_neg_integer(),
  read_only: boolean(),
  search_path: String.t() | nil
]

params()

@type params() :: list()

query_result()

@type query_result() :: Lotus.Result.t()

repo()

@type repo() :: module()

sql()

@type sql() :: String.t()

Functions

run_sql(repo, sql, params \\ [], opts \\ [])

@spec run_sql(repo(), sql(), params(), opts()) ::
  {:ok, query_result()} | {:error, term()}