A bounded, incremental row cursor owned by one Tursox.Statement.
fetch/2 transfers at most the requested number of rows. Use stream/2 for
lazy enumeration or all/3 only with an explicit total-row limit.
Summary
Functions
Materializes rows only up to an explicit total limit.
Logically closes the cursor and releases its statement lease.
Returns ordered column metadata, preserving duplicate names.
Fetches no more than max_rows ordered rows.
Fetches one row, returning {:row, row} or :done.
Builds a lazy stream whose early halt closes the cursor.
Types
Functions
@spec all(t(), non_neg_integer(), pos_integer()) :: {:ok, Tursox.Result.t()} | {:error, Tursox.Error.t()}
Materializes rows only up to an explicit total limit.
@spec close(t()) :: :ok
Logically closes the cursor and releases its statement lease.
@spec columns(t()) :: [Tursox.Column.t()]
Returns ordered column metadata, preserving duplicate names.
@spec fetch(t(), pos_integer()) :: {:rows, [[term()]]} | {:done, [[term()]]} | :done | {:error, Tursox.Error.t()}
Fetches no more than max_rows ordered rows.
@spec step(t()) :: {:row, [term()]} | :done | {:error, Tursox.Error.t()}
Fetches one row, returning {:row, row} or :done.
@spec stream(t(), pos_integer()) :: Enumerable.t()
Builds a lazy stream whose early halt closes the cursor.