This is the module where all of the NIF entry points reside. Calling this directly should be avoided unless you are aware of what you are doing.
Summary
Types
@type db() :: reference()
@type reason() :: :atom | String.Chars.t()
@type row() :: list()
@type statement() :: reference()
Functions
@spec batch_step(db(), statement(), [list()]) :: {:ok, non_neg_integer()} | :busy | {:error, reason()}
@spec bind_blob(statement(), non_neg_integer(), binary()) :: integer()
@spec bind_float(statement(), non_neg_integer(), float()) :: integer()
@spec bind_integer(statement(), non_neg_integer(), integer()) :: integer()
@spec bind_null(statement(), non_neg_integer()) :: integer()
@spec bind_parameter_count(statement()) :: non_neg_integer() | {:error, reason()}
@spec bind_parameter_index(statement(), String.t()) :: non_neg_integer()
@spec bind_text(statement(), non_neg_integer(), String.t()) :: integer()
@spec build_info() :: map()
@spec execute_luau_batch(db(), binary(), pos_integer()) :: {:ok, pos_integer()} | {:error, reason()}
@spec reset(statement()) :: :ok
@spec transaction_status(db()) :: {:ok, :idle | :transaction}